#include <windows.h>
#include <iostream>
typedef int (__stdcall *MyFunction)(int, int);
int main() {
// 加载DLL库
HMODULE hDLL = LoadLibrary(L"example.dll");
if (hDLL == NULL) {
std::cerr << "Failed to load DLL" << std::endl;
return 1;
}
// 获取函数指针
MyFunction func = (MyFunction)GetProcAddress(hDLL, "Add");
if (func == NULL) {
std::cerr << "Failed to get function address" << std::endl;
FreeLibrary(hDLL);
return 1;
}
// 调用DLL中的函数
int result = func(5, 3);
std::cout << "Result: " << result << std::endl;
// 卸载DLL库
FreeLibrary(hDLL);
return 0;
}
LoadLibrary 函数加载指定的 DLL 文件。这里假设 DLL 文件名为 example.dll。GetProcAddress 函数获取 DLL 中导出函数的地址。这里假设导出函数名为 Add,并且它是一个标准调用约定(__stdcall)的函数,接受两个整数参数并返回一个整数。FreeLibrary 函数卸载已加载的 DLL 库,释放资源。如果在上述过程中遇到任何错误(如无法加载 DLL 或无法获取函数地址),程序会输出相应的错误信息并退出。
上一篇:c++文件读取
下一篇:c++ 初始化数组
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站