运行时库
运行时库(runtime library,又称运行期库),在计算机程序设计领域中,是指编程语言程序运行时(执行)所需要的一种特殊的计算机程序库,编译器会调用运行时库至已编译的可执行二进制代码中。这种库一般包括基本的输入输出或是内存管理等支持。它是一群支持正在执行程序的函数,与操作系统合作提供诸如数学运算、输入输出等功能,让程序写作者不需要“重新发明轮子”,并善用操作系统提供的功能。
运行时库由编译器决定,以面向编程语言,提供其最基本的执行时需要。比如Visual Basic需要复杂的运行时库支持而C的运行时库则相对简单。当然这还是由编译器厂商决定的。运行时库中的函数可能对程序员透明,也可能不透明。这也是由编译器厂商忖度语言执行环境的需求而决定的。
早期的执行期库(例如Fortran)提供了数学运算的能力。其他语言增加了诸如垃圾回收的先进功能,通常用于支持对象数据结构。
许多近代语言设计了更大的执行环境并添加更多功能。很多面向对象语言也包含了分派器与类别读取器。Java虚拟机(JVM)便是此类的典型执行环境:它也在执行期直译或编译具可携性的二进制Java程序。而.NET架构也是另外一个执行期库的实例。
异常处理(Exception handling)是专门处理执行期错误的语言机制,使程序员可以完全捕捉非预期错误,或没有适当处理的错误结果。
动态链接库或静态链接库与运行时库的分类角度不同,不得相提并论。
实例
一个以Java语言撰写的软件,可借由Java软件执行可预测的指令接收Java执行环境的服务功能。借由提供这些服务,Java执行环境可视为此程序的执行期环境。程序与Java环境都向操作系统提出请求并获取服务。而操作系统核心为它自己、所有行程与在它控制之下的软件提供服务。操作系统可视为自己提供自己执行期环境。