C++でDLLを呼び出す方法は?

C++では、DLL(Dynamic-link library)を呼び出す方法はいくつかあります。

  1. Loadライブラリ
  2. GetProcAddress
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, “dll名.lib”)
#pragma comment(lib, "dllname.lib")

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

int main() {
    functionName(); // 调用导出函数
    return 0;
}
  1. __declspec(dllimport)
__declspec(dllimport) void functionName(); // 声明DLL中导出函数

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

DLLを呼び出す時には、DLLファイルとインポートライブラリファイル(通常は.libファイル)が適切な場所に配置され、DLLの関数が正しくエクスポートされていることを確認する必要があります。

bannerAds