執行階段函式庫
執行階段函式庫(runtime library,又稱運行期函式庫),在電腦程式設計領域中,是指程式語言程式執行時(執行)所需要的一種特殊的電腦程式函式庫,編譯器會調用執行階段函式庫至已編譯的可執行二進制代碼中。這種函式庫一般包括基本的輸入輸出或是主記憶體管理等支援。它是一群支援正在執行程式的函式,與作業系統合作提供諸如數學運算、輸入輸出等功能,讓程式寫作者不需要「重新發明輪子」,並善用作業系統提供的功能。
執行階段函式庫由編譯器決定,以面向程式語言,提供其最基本的執行時需要。比如Visual Basic需要複雜的執行階段函式庫支援而C的執行階段函式庫則相對簡單。當然這還是由編譯器廠商決定的。執行階段函式庫中的函式可能對程式設計師透明,也可能不透明。這也是由編譯器廠商忖度語言執行環境的需求而決定的。
早期的執行期函式庫(例如Fortran)提供了數學運算的能力。其他語言增加了諸如垃圾回收的先進功能,通常用於支援物件資料結構。
許多近代語言設計了更大的執行環境並添加更多功能。很多物件導向語言也包含了分派器與類別讀取器。Java虛擬機(JVM)便是此類的典型執行環境:它也在執行期直譯或編譯具可攜性的二進位Java程式。而.NET架構也是另外一個執行期函式庫的實例。
例外處理(Exception handling)是專門處理執行期錯誤的語言機制,使程式設計師可以完全捕捉非預期錯誤,或沒有適當處理的錯誤結果。
實例
一個以Java語言撰寫的軟體,可藉由Java軟體執行可預測的指令接收Java執行環境的服務功能。藉由提供這些服務,Java執行環境可視為此程式的執行期環境。程式與Java環境都向作業系統提出請求並獲取服務。而作業系統核心為它自己、所有行程與在它控制之下的軟體提供服務。作業系統可視為自己提供自己執行期環境。