阅读量:0
在C++中调用DLL(Dynamic-link library,动态链接库)的方法有以下几种:
- 使用
LoadLibrary
函数加载DLL并获取其句柄,然后使用GetProcAddress
函数获取DLL中导出函数的地址,最后使用函数指针调用导出函数。
HINSTANCE hDll = LoadLibrary("dllname.dll"); if (hDll != NULL) { typedef void (*MyFunction)(); MyFunction myFunc = (MyFunction)GetProcAddress(hDll, "functionName"); if (myFunc != NULL) { myFunc(); // 调用导出函数 } FreeLibrary(hDll); }
- 使用
#pragma comment(lib, "dllname.lib")
将DLL的导入库添加到项目中,在代码中直接调用DLL中的函数。
#pragma comment(lib, "dllname.lib") extern "C" void functionName(); // 声明DLL中导出函数 int main() { functionName(); // 调用导出函数 return 0; }
- 使用
__declspec(dllimport)
关键字声明DLL中的函数,并在代码中直接调用。
__declspec(dllimport) void functionName(); // 声明DLL中导出函数 int main() { functionName(); // 调用导出函数 return 0; }
需要注意的是,调用DLL时需要确保DLL文件和导入库文件(一般为.lib文件)位于正确的位置,并且DLL中的函数已经正确导出。