複製鏈接
請複製以下鏈接發送給好友

程式庫

鎖定
程式庫,別名引用程式庫,是目的碼程式庫檔案的一種特殊形式。
中文名
程式庫
別    名
引用程式庫
使    用
執行期間
鏈    接
靜態連結
動態連結程式庫有着令人困惑的印象,部分原因是由於“程式庫”這個詞被放在幾種不同的用語之後。除了動態連結程式庫之外,我們也用它來稱呼“靜態連結”或“引用程式庫”。
目的碼程式庫是帶.LIB副檔名的檔案。在使用連結程式進行靜態連結時,它的程式碼就會加到程式的.EXE檔案中。例如,在Microsoft Visual C++中,連同程式連結的一般C執行目的碼程式庫被稱為LIBC.LIB。
引用程式庫,像目的碼程式庫一樣,引用程式庫有.LIB副檔名,並且被連結器用來確定程式碼中的函式呼叫來源。但引用程式庫不含程式碼,而是為連結程式提供資訊,以便在.EXE檔案中建立動態連結時要用到的重定位表。包含在Microsoft編譯器中的KERNEL32.LIB、USER32.LIB和GDI32.LIB檔案是Windows函式的引用程式庫。如果一個程式呼叫Rectangle函式,Rectangle將告訴LINK,該函式在GDI32.DLL動態連結程式庫中。該資訊被記錄在.EXE檔案中,使得程式執行時,Windows能夠和GDI32.DLL動態連結程式庫進行動態連結。
目的碼程式庫和引用程式庫只用在程式開發期間使用,而動態連結程式庫在執行期間使用。當一個使用動態連結程式庫的程式執行時,該動態連結程式庫必須在磁片上。當Windows要執行一個使用了動態連結程式庫的程式而需要載入該程式庫時,動態連結程式庫檔案必須儲存在含有該.EXE程式的目錄下、目前的目錄下、Windows系統目錄下、Windows目錄下,或者是在通過MS-DOS環境中的PATH可以存取到的目錄下(Windows會按順序搜索這些目錄)。