C中的dll 、lib和exe文件

參考:鏈接1   鏈接2

DLL

動態鏈接庫(Dynamic Link Library,縮寫爲DLL),運行時加載
是一個可以被其它應用程序共享的程序模塊,其中封裝了一些可以被共享的例程和資源。動態鏈接庫文件的擴展名一般是dll,也有可能是drv、sys和fon,它和可執行文件(exe)非常類似

DLL中雖然包含了可執行代碼卻不能單獨執行,而應由Windows應用程序直接或間接調用。

DLL是程序運行時把dll裏的代碼和資源加再到進程地址空間去,所以叫動態連接

需要和你的程序一起發佈纔行

允許可執行模塊(.dll 文件或 .exe 文件)僅包含在運行時定位 DLL 函數的可執行代碼所需的信息

dll只是標記了一個對這個dll文件的某一段代碼(函數)的引用,你的程序運行時必須有這一個.dll文件

LIB

靜態鏈接庫

lib將在連接時把一些代碼拷貝到你的程序代碼裏,所以叫做靜態連接,內容不可見,可以隱藏、保護主要的代碼模塊  

編譯後就不需要了

鏈接器從靜態鏈接庫獲取所有被引用的函數,並將庫同代碼一起放到可執行文件中。

lib中的執行代碼的內容在你自己寫的程序的編譯過程中被拷貝了一份

EXE

可執行文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章