c++

C++调用dll的方法是什么

小亿
391
2023-11-21 13:53:52
栏目: 编程语言

在C++中调用DLL(Dynamic-link library,动态链接库)的方法有以下几种:

  1. 使用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);
}
  1. 使用#pragma comment(lib, "dllname.lib")将DLL的导入库添加到项目中,在代码中直接调用DLL中的函数。
#pragma comment(lib, "dllname.lib")

extern "C" void functionName(); // 声明DLL中导出函数

int main() {
    functionName(); // 调用导出函数
    return 0;
}
  1. 使用__declspec(dllimport)关键字声明DLL中的函数,并在代码中直接调用。
__declspec(dllimport) void functionName(); // 声明DLL中导出函数

int main() {
    functionName(); // 调用导出函数
    return 0;
}

需要注意的是,调用DLL时需要确保DLL文件和导入库文件(一般为.lib文件)位于正确的位置,并且DLL中的函数已经正确导出。

0
看了该问题的人还看了