运行时库
![本页使用了标题或全文手工转换](http://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環境都向作業系統提出請求並獲取服務。而作業系統核心為它自己、所有行程與在它控制之下的軟體提供服務。作業系統可視為自己提供自己執行期環境。