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