回覆列表
  • 1 # ziioo3803

    一般有兩種呼叫方式:1、靜態呼叫。將編譯之後的dll和所對應的lib檔案放到要呼叫它們的工程所在路徑,然後新增如下程式碼:#pragma comment(lib,"dege.lib")extern "C" __declspec(dllimport) FuncA(//引數);然後可以直接使用FuncA函數了,跟普通函式一樣。這個其實是一個靜態庫,因為你很可能沒有lib檔案,所以建議使用第二種方式:2、動態呼叫。typedef int(*lpFunA)(int, int); //宏定義函式指標型別,這裡假設你的FuncA是一個int型的函式,且帶兩個int型的引數,你可以假設為是一個求和的Add函式。在要使用FunA的地方新增如下程式碼HINSTANCE hDll;//定義個DLL控制代碼lpFunA addFun;//自定義函式的指標hDll=LoadLibrary("..\\Debug\\dege.dll");//動態載入dll,這裡假設你的dll放在你要呼叫它的工程的debug下if(hDll!=NULL){addFun=(lpFunA)GetProAddress(hDll,"FunA");//獲得FunA的地址if(FunA!=NULL){//這裡正常使用addFun,跟普通函式一樣}FreeLibrary(hDll);//用完之後要釋放控制代碼}

  • 中秋節和大豐收的關聯?
  • 柔焦效果在化妝品中是什麼意思?