建立一个dll工程和一个test工程
1.例如,
#include
//导出函数或者类
#define HELLO_API _declspec(dllexport)
HELLO_API void print()
{
std::cout<<“hello”<<std::endl;
}
//导出hello.dll
test工程:
typedef int(*fnFun)(); // 定义函数指针类型
int main()
{
// 1. 显式链接
//1.1 加载DLL
// hDll : DLL的加载基址
HMODULE hDll = LoadLibrary(L"hello.dll");
fnFun pfnFun = nullptr; // 函数指针类型的变量
// 1.2 获取DLL中的函数的地址
pfnFun = (fnFun)GetProcAddress(hDll, "print");
// 1.3 调用函数
pfnFun();
//1.4 释放DLL
FreeLibrary(hDll);
return 0;
}
//生成test.exe
调试dll方法:
在dll工程中,设置调试下命令:test.exe路径