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