如何调用 DLL 中的函数
如何調用 DLL 中的函數
?
在 DLL工程中的 cpp中函數定義如下:
extern "C" _declspec (dllexport )
????? int add(int a, char b)
{
????? return a + b;
}
?
?
一:顯示鏈接
調用的 DLL的主工程的 main文件中代碼如下:
#include <stdio.h>
#include <Windows.h>
#include <tchar.h>
?
int main()
{
????? HMODULE hModule = NULL;
????? typedef int (*Func)(int a, int b);
?
????? // 動態加載 DLL 文件
????? hModule = LoadLibrary(_TEXT("..//Debug//FuncDll.dll" ));
?
????? // 獲取 add 函數地址
????? Func fAdd = (Func)GetProcAddress(hModule, "add" );
?
????? // 使用函數指針
????? printf("%d/n" , fAdd(5, 2));
?
????? // 最后記得要釋放指針
????? FreeLibrary(hModule);
?
????? return 0;
}
?
二:隱式鏈接:
調用的 DLL的主工程的 main文件中代碼如下:
#include <stdio.h>
#include <Windows.h>
#include <tchar.h>
?
// 先把 lib 鏈接進來
#pragma comment (lib , "..//Debug//FuncDll.lib" )
?
// 外部聲明的 add 函數
extern "C" _declspec (dllimport )
????? int add(int a, char b);
?
int main()
{
????? // 直接調用 add 函數
????? printf("%d/n" , add(5, 2));
?
????? return 0;
}
?
總結
以上是生活随笔為你收集整理的如何调用 DLL 中的函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL触发器实例讲解
- 下一篇: VC画图用到的主要方法