運行時庫
![本頁使用了標題或全文手工轉換](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環境都向作業系統提出請求並獲取服務。而作業系統核心為它自己、所有行程與在它控制之下的軟體提供服務。作業系統可視為自己提供自己執行期環境。