网站地图
运行时库

在计算机程序设计领域,运行时库是一种被编译器用来实现编程语言内置函数,以提供该语言程序运行时(执行)支持的一种特殊的计算机程序库。这种库一般包括基本的输入输出或是内存管理等支持。

运行时库由编译器决定,以面向编程语言,提供其最基本的执行时需要。比如Visual Basic需要复杂的运行时库支持而C的运行时库则相对简单。

当然这还是由编译器厂商决定的。运行时库中的函数可能对程序员透明,也可能不透明。这也是由编译器厂商忖度语言执行环境的需求而决定的。

运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念。所以这个时期的C运行时库都是单线程的。

随着操作系统多线程技术的发展,最初的C运行时库无法满足程序的需求,出现了严重的问题。C运行时库使用了多个全局变量(例如errno)和静态变量,这可能在多线程程序中引起冲突。假设两个线程都同时设置errno,其结果是后设置的errno会将先前的覆盖,用户得不到正确的错误信息。

因此,Visual C++提供了两种版本的C运行时库。一个版本供单线程应用程序调用,另一个版本供多线程应用程序调用。多线程运行时库与单线程运行时库有两个重大差别:

(1)类似errno的全局变量,每个线程单独设置一个;

这样从每个线程中可以获取正确的错误信息。

(2)多线程库中的数据结构以同步机制加以保护。

这样可以避免访问时候的冲突。


相关文章推荐:
计算机程序 | 编译器 | 编程语言 | 内置函数 | 内存管理 | 编译器 | 编程语言 | 编译器 | 程序员 | 编译器 | 单线程 | 单线程 | 多线程技术 | 全局变量 | 静态变量 | 错误信息 | 单线程 | 单线程 | 全局变量 | 线程 | 错误信息 | 数据结构 |
相关词汇词典