下面是详细讲解“vs2019生成dll并调用的实现示例”的完整攻略,过程中包含两条示例说明。
1. 生成DLL
步骤一:创建工程
在VS2019中创建新的工程,可以选择生成DLL的类型,如MFC DLL、Win32 DLL等。也可以先创建控制台应用程序,再将其修改为生成DLL类型。
步骤二:设置属性
在项目属性中修改以下参数:
- 配置类型(Configuration Type)选择DLL。
- 运行库(Runtime Library)选择动态链接库(/MD或/MDd)。
- 导出符号(Export Symbols)设置需要导出的函数或类。
步骤三:生成DLL
在VS的菜单栏中选择生成(Build)->生成解决方案(Build Solution),即可生成DLL文件。生成的DLL文件可以在项目的输出目录下找到。
示例1:以“TestDll”为例,生成一个简单的DLL文件,其中包含一个函数add(),函数接收两个参数并返回它们的总和。
//TestDll.h
#ifndef TESTDLL_H
#define TESTDLL_H
#ifdef __cplusplus
extern "C" {
#endif
__declspec(dllexport) int add(int a, int b);
#ifdef __cplusplus
}
#endif
#endif
//TestDll.cpp
#include "TestDll.h"
int add(int a, int b)
{
return a + b;
}
2. 调用DLL
步骤一:包含头文件
需要包含DLL的头文件,才能使用其中的函数。
#include <windows.h>
#include "TestDll.h"
步骤二:加载DLL
使用LoadLibrary函数加载DLL文件。
HINSTANCE hDll = LoadLibrary(_T("TestDll.dll"));
if (hDll == NULL)
{
//处理加载失败的情况
}
步骤三:获取函数地址
使用GetProcAddress函数获取DLL中的函数地址。
FARPROC pFunc = GetProcAddress(hDll, _T("add"));
if (pFunc == NULL)
{
//处理获取失败的情况
}
步骤四:调用函数
使用函数地址调用DLL中的函数。
int a = 3, b = 4;
int result = ((int(*)(int, int))pFunc)(a, b);
步骤五:释放DLL
使用FreeLibrary函数释放DLL文件。
FreeLibrary(hDll);
示例2:通过调用demo.dll中的sum()函数,计算1到10的和。
#include <windows.h>
int main()
{
HINSTANCE hDll = LoadLibrary(_T("demo.dll"));
if (hDll == NULL)
{
//处理加载失败的情况
}
FARPROC pFunc = GetProcAddress(hDll, _T("sum"));
if (pFunc == NULL)
{
//处理获取失败的情况
}
int result = ((int(*)(void))pFunc)();
FreeLibrary(hDll);
return 0;
}
以上就是关于“vs2019生成dll并调用的实现示例”的详细攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vs2019生成dll并调用的实现示例 - Python技术站