lib、dll引用

引用lib庫
1. 添加包含頭(include)文件目錄
     方法 1:“項目->屬性->配置屬性->c/c++->常規->附加包含目錄”

     方法 2:[菜單]“工具->選項->項目和解決方案->c++ 目錄”,添加所需“包括文件”目錄

2. 添加庫(libs)文件目錄

     方法 1:項目->屬性->配置屬性->連接器->常規->附加庫目錄”
     方法 2:[菜單]“工具->選項->項目和解決方案->c++ 目錄”,選擇對應平臺,然後添加所需“庫文件”目錄
3. 添加編譯所需要(依賴)的 lib 文件

     在“項目->屬性->配置屬性->連接器->輸入->附加依賴項”裏填寫“winsock.lib”,多個 lib 以空格隔開。等同於“#pragma comment(lib, "*.lib") ”語句。

引用dll庫

一、靜態調用方法:
   (1)在工程屬性設置中加入該庫的靜態庫(.lib)
   (2)將該庫的頭文件(.h)加入到工程中;
   (3)將動態庫(.dll)放到工程中相應目錄下;
前兩步驟是爲了標明動態庫的入口函數,以使其他函數可以正確的調用動態庫。調用時,只需要包含.h頭文件就可以使用庫中的函數了。
二、動態調用方法:
動態調用法要用Windows API中的LoadLibrary()GetProcAddress()來調入dll庫,指出庫中函數位置。
該方法不需要.lib庫和.h文件。下面以一個實例來說明該方法。
#include "stdafx.h" 
#include <wtypes.h> 

int (*GetMachineFingerprint)(unsigned char *);    

int _tmain(int argc, _TCHAR* argv[]) 

  HINSTANCE     hInst;            

  hInst     =     LoadLibrary("MachineInfo.dll");            
  (FARPROC&)GetMachineFingerprint = GetProcAddress(hInst,"GetMachineFingerprint");    
    
  unsigned char FingerPrintf[20] = {0}; 

  GetMachineFingerprint(FingerPrintf); 

  printf("%s\n", FingerPrintf); 
    
  FreeLibrary(hInst);    

  while(getchar()); 

  return 0; 
}

發佈了1 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章