動態庫dll的調用方式-隱式連接

1.隱式連接(須要.dll,.lib,.h)函數

隱式連接就是在程序開始執行時就將DLL文件加載到內存當中,而顯示連接,是實時加載,程序須要的時候加載,不須要的時候,卸載。spa

 

Windows程序bin目錄包含了可執行文件(.exe) 和 動態連接庫(.dlll),  內存

       lib目錄包含了靜態庫變量

 

只要沒有在程序中顯式連接的,都是隱式連接配置

第一步:將.dll,lib,.h文件放入對應的搜索路徑
搜索

  其中動態庫的搜索路徑,記住最重要的兩個bug

  一、項目當前目錄(.cpp)目錄scroll

  二、path環境變量中的目錄程序

 

  靜態庫的搜索路徑包括:
方法

  一、項目當前目錄.cpp目錄(項目和解決方案的Debug不行)(也不是解決方案目錄)

  二、VC設置中的庫目錄(Library Directories)

 

  注:若是lib庫不放到搜索路徑中,也能夠在程序中添加:

  #pragma comment(lib,"D:/DLLTest.lib")//如果相對路徑,則爲項目當前.cpp目錄

 

  頭文件搜索路徑包括:

  一、VC設置中的包含目錄(Include Directories)

第二步:必定要在VC設置中的依賴項中添加你用到的庫的名字

 

  第一種(對應上面每種搜索路徑1):針對數量較少的庫

 

    設置.dll,.lib搜索路徑:直接將.dll,.lib,.h放入項目當前目錄下(即含有項目源文件.cpp的目錄)

    設置.h的搜索路徑:VC設置中的包含目錄(Include Directories)加入你的.h路徑

    而後在連接->輸入->附加依賴項中加入你要使用的靜態庫。

 

    這裏只添加靜態庫

    就能夠使用DLL中的函數了。

  第二種(對應上面每種搜索路徑2):針對數量比較多的庫(Opencv)

    Opencv,OSG等開源庫的配置

 

    這種方式也是一般開源庫的配置方式,Opencv,OSG

    步驟以下:

 

    步驟1.添加DLL的目錄

 

           方法1dll目錄(一般爲bin目錄)放入環境變量Path(須要重啓)path是搜索動態庫的目錄

 

    步驟2.添加靜態庫lib庫目錄和頭文件的目錄

 

      在工程中的VC++目錄中添加靜態庫目錄和頭文件目錄

 

    步驟3.添加靜態庫

 

      在連接->輸入->附加依賴項中加入你要使用的靜態庫(當程序中調用時,會在上述配置的庫目錄中尋找這個庫)

 

      這裏只添加靜態庫,動態庫的目錄已放入環境變量中,系統會搜索這個路徑的,自動加載.dll

 

      如RmwRoadBoundaryStraightLineDLL.lib

 

      而後,在程序中添加頭文件 (在上述配置的頭文件目錄中尋找),就能夠使用DLL中的函數了。

相關文章
相關標籤/搜索