今天学了如何生成dll并调用,目前会的有两种,实测可用,后续还会再加。
第一种:
(1) C++新建项目,选择WIN32项目,选择DLL和空项目。
(2) 创建callDLL.h,加入以下:
#ifdef DLL_API//如果已经定义就什么都不做
//nothing to do
#else //否则定义DLL_API
#define DLL_API __declspec(dllexport) //_declspec(dllexport):导出标志
#endif
DLL_API (自己写的函数!)/导出单独的函数(后面加函数)
(3) 创建cpp文件:MakeDll.cpp
加入:#include "MakeDll.h"
(4) 菜单栏选择”生成——>生成解决方案“,生产dll和lib
添加新项目,callDLL
包含目录,配置.h文件
库目录配置 .lib文件,再附加依赖项
callDLL.cpp 中加入 #include "makeDLL.h"
即可使用。
第二种:模块定义文件def
新建makeDLL项目
项目属性,选择
包含目录、库目录、附加依赖项配置环境。
def 文件必须至少包含下列模块定义语句:
1】文件中的第一个语句必须是LIBRARY 语句。此语句将 .def 文件标识为属于 DLL。 LIBRARY 语句的后面是 DLL 的名称。 链接器将此名称放到 DLL 的导入库中。
2】EXPORTS 语句列出名称,可能的话还会列出 DLL 导出函数的序号值。在函数名的后面加上 @ 符和一个数字,给函数分配序号值。 当指定序号值时,序号值的范围必须是从 1 到 N,其中 N 是 DLL 导出函数的个数。使用符号时外部调用程序可以使用函数名称和序号加载函数。