C++でDLLを呼び出す方法は?
C++では、DLL(Dynamic-link library)を呼び出す方法はいくつかあります。
- Loadライブラリ
- GetProcAddress
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, “dll名.lib”)
#pragma comment(lib, "dllname.lib")
extern "C" void functionName(); // 声明DLL中导出函数
int main() {
functionName(); // 调用导出函数
return 0;
}
- __declspec(dllimport)
__declspec(dllimport) void functionName(); // 声明DLL中导出函数
int main() {
functionName(); // 调用导出函数
return 0;
}
DLLを呼び出す時には、DLLファイルとインポートライブラリファイル(通常は.libファイル)が適切な場所に配置され、DLLの関数が正しくエクスポートされていることを確認する必要があります。