Lib Dll 差異 調用
wq_T
轉載
關註
0點贊·2169人閱讀
動態鏈接庫的Lib文件與Dll文件的作用
(1)lib是編譯時需要的,dll是運行時需要的。
如果要完成源代碼的編譯,有lib就夠了。
如果要使動態連接的程序運行起來,有dll就夠了。
在開發和調試階段,當然最好都有。
(2)在動態庫的情況下,有兩個文件,壹個是引入庫(.LIB)文件,壹個是DLL文件,引入庫文件(.LIB)包含被DLL導出的函數的名稱和位置,DLL包含實際的函數和數據,應用程序使用LIB文件鏈接到所需要使用的DLL文件,庫中的函數和數據並不復制到可執行文件中,因此在應用程序的可執行文件中,存放的不是被調用的函數代碼,而是DLL中所要調用的函數的內存地址,這樣當壹個或多個應用程序運行是再把程序代碼和被調用的函數代碼鏈接起來,從而節省了內存資源。
如果只有lib文件,那麽這個lib文件是靜態編譯出來的,索引和實現都在其中。靜態編譯的lib文件有好處:給用戶安裝時就不需要再掛動態庫了。但也有缺點,就是導致應用程序比較大,而且失去了動態庫的靈活性,在版本升級時,同時要發布新的應用程序才行。