DLL
動態鏈接庫(Dynamic Link Library,縮寫爲DLL),運行時加載
是一個可以被其它應用程序共享的程序模塊,其中封裝了一些可以被共享的例程和資源。動態鏈接庫文件的擴展名一般是dll,也有可能是drv、sys和fon,它和可執行文件(exe)非常類似
DLL中雖然包含了可執行代碼卻不能單獨執行,而應由Windows應用程序直接或間接調用。
DLL是程序運行時把dll裏的代碼和資源加再到進程地址空間去,所以叫動態連接
需要和你的程序一起發佈纔行
允許可執行模塊(.dll 文件或 .exe 文件)僅包含在運行時定位 DLL 函數的可執行代碼所需的信息
dll只是標記了一個對這個dll文件的某一段代碼(函數)的引用,你的程序運行時必須有這一個.dll文件
LIB
靜態鏈接庫
lib將在連接時把一些代碼拷貝到你的程序代碼裏,所以叫做靜態連接,內容不可見,可以隱藏、保護主要的代碼模塊
編譯後就不需要了
鏈接器從靜態鏈接庫獲取所有被引用的函數,並將庫同代碼一起放到可執行文件中。
lib中的執行代碼的內容在你自己寫的程序的編譯過程中被拷貝了一份
EXE
可執行文件