动态链接库DLL与静态链接库LIB
1)DLL 作用: 1.有助于促進代碼重用和內存的效率使用 2.讓程序模塊化,有利于程序的維護 2.)DLL兩種鏈接方法 1.隱式鏈接 把.dll和.lib文件導入到項目路徑中去 #include"xxxdll.h" #pragma comment(lib,"xxxdll.lib") 2.顯式鏈接 ?DLLFunc dllFunc; ?HINSTANCE hInstLibrary = LoadLibrary("DLLSample.dll"); ?if (hInstLibrary == NULL) ? { ?FreeLibrary(hInstLibrary); ?? } ?dllFunc = (DLLFunc)GetProcAddress(hInstLibrary, "TestDLL") ? if (dllFunc == NULL) ? { ?? FreeLibrary(hInstLibrary); ? } ?dllFunc(123); ?FreeLibrary(hInstLibrary);
3)dll可以有自己的數據段但是沒有自己的堆棧,使用dll的進程要分dll分配相應的內存,如果將類封裝成dll,那么使用那個dll進程就要分配對象所需的內存,如果將函數分裝成dll,那么使用那個dll中的某個函數的進程只需分配相應的函數的內存。如果將類封裝成dll,使用它的時候占用的內存時間會比把函數分裝成dll來使用的時間長。 4)靜態鏈接庫 1.對函數庫的鏈接是放在編譯時期完成的 2.程序在運行時與函數庫再無瓜葛,移植方便 3.浪費空間和資源,因為所有相關的目標文件與涉及到的函數庫被鏈接和成一個可執行文件。
轉載于:https://www.cnblogs.com/lailaio/p/4137498.html
總結
以上是生活随笔為你收集整理的动态链接库DLL与静态链接库LIB的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Asp.net 后台添加CSS、JS、M
- 下一篇: ubuntu 串口转usb使用