本文目錄一覽:
如何在C語言中調用C++編寫的DLL中的函數
C語言沒辦法直接調用C++庫
要調用C++的庫
必須加一層封裝
即 先寫一個C++文件, 對每個要調用的C++DLL中的函數func_name, 封裝成
extern “C”
{
return_type func_name_C(list)
{
return func_name(list);
}
}
這樣的形式。
然後 把這個c++文件, 封裝成dll
C文件調用這個dll裡面的函數, 間接調用原始DLL
C語言如何調用DLL
//dll
#include windows.h
extern “C” //保持C語言文件
void _declspec ( dllexport ) tryProc() //定義函數
{
MessageBox(NULL,_T(“a”),_T(“a”),MB_OK);
}
————————————-
//C
#include windows.h
int main()
{
HMOUDLE dll = LoadLibrary(/*DLL文件名*/);
if(dll != NULL)
{
FARPROC try = GetProcAddress(dll,”tryProc”);
if(try != NULL)
{
tryProc();//假如函數有返回值,可以用try()得到返回值
/*_asm call tryProc*/
}
}
return 0;
}
C語言調用dll
這個相對路徑是你當前代碼存放的位置.
實際應用中相對路徑比絕對路徑實用多了.
比如你可以再代碼路徑上再創建一個文件夾,命令dll,裡面放所有的dll文件
那麼你此時路徑”.\\dll\\test.dll”
你可以發給我,我幫你看看
c語言怎麼調用dll文件
(1)編寫程序時,你要包含(#include “什麼.h”) dll文件作者提供 的 頭文件(.h文件) 。
程序里,便和普通函數調用一樣,去調用它的函數。
(2)程序編譯時,你要鏈接 dll文件作者提供 的 (.lib文件) 庫文件。
當然,你可以在源程序里把.lib 名字 寫上,編譯時自動去鏈接,例子:
#pragma comment (lib, “什麼.lib”)
(3)執行時,要有 .dll 文件. 放在當前文件夾或系統文件夾里。
原創文章,作者:FYKK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147330.html