運行時庫

運行時庫(runtime library,又稱運行期庫),在計算機程序設計領域中,是指編程語言程序運行時(執行)所需要的一種特殊的計算機程序庫編譯器會調用運行時庫至已編譯的可執行二進制代碼中。這種庫一般包括基本的輸入輸出或是內存管理等支持。它是一群支援正在執行程式的函式,與作業系統合作提供諸如數學運算、輸入輸出等功能,讓程式寫作者不需要「重新發明輪子」,並善用作業系統提供的功能。

運行時庫由編譯器決定,以面向編程語言,提供其最基本的執行時需要。比如Visual Basic需要複雜的運行時庫支持而C的運行時庫則相對簡單。當然這還是由編譯器廠商決定的。運行時庫中的函數可能對程序員透明,也可能不透明。這也是由編譯器廠商忖度語言執行環境的需求而決定的。

早期的執行期函式庫(例如Fortran)提供了數學運算的能力。其他語言增加了諸如垃圾回收的先進功能,通常用於支援物件資料結構。

許多近代語言設計了更大的執行環境並添加更多功能。很多物件導向語言也包含了分派器與類別讀取器。Java虛擬機(JVM)便是此類的典型執行環境:它也在執行期直譯或編譯具可攜性的二進位Java程式。而.NET架構也是另外一個執行期函式庫的實例。

例外處理(Exception handling)是專門處理執行期錯誤的語言機制,使程式設計師可以完全捕捉非預期錯誤,或沒有適當處理的錯誤結果。

動態鏈接庫靜態鏈接庫與運行時庫的分類角度不同,不得相提並論。

實例

一個以Java語言撰寫的軟體,可藉由Java軟體執行可預測的指令接收Java執行環境的服務功能。藉由提供這些服務,Java執行環境可視為此程式的執行期環境。程式與Java環境都向作業系統提出請求並獲取服務。而作業系統核心為它自己、所有行程與在它控制之下的軟體提供服務。作業系統可視為自己提供自己執行期環境

參閱