標籤: 暫無標籤

動態連結程式庫有著令人困惑的印象,部分原因是由於「程式庫」這個詞被放在幾種不同的用語之後。除了動態連結程式庫之外,我們也用它來稱呼「目的碼程式庫」或「引用程式庫」。

目錄

1 程式庫 -概述

目的碼程式庫是帶.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會按順序搜索這些目錄)。

上一篇[少室晴雪]    下一篇 [生活力]

相關評論

同義詞:暫無同義詞