vs2019 生成dll文件及使用
一.c++生成dll文件
32位Dll生成
打开vs2019,建立c++的dll库文件。
命名为“NewDll”。
文件列表如下:
然后在头文件pch.h中,写入代码:
// pch.h: 这是预编译标头文件。
// 下方列出的文件仅编译一次,提高了将来生成的生成性能。
// 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
// 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
// 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
#ifndef PCH_H
#define PCH_H
// 添加要在此处预编译的标头
#include "framework.h"
#endif //PCH_H
//以下是要写的代码
#define IMPORTFROMDLL extern "C" _declspec(dllimport) //允许外部调用
//声明函数
IMPORT_DLL int Add(int a, int b);
在对应的cpp文件中写以下代码:
// pch.cpp: 与预编译标头对应的源文件
#include "pch.h"
// 当使用预编译的头时,需要使用此源文件,编译才能成功。
//实现代码
int Add(int a, int b)
{
return a + b;
}
点击“生成”->“生成NewDll.dll”。解决方案文件如下:
成功后在方案下的Debug文件下,有以下文件:
其中NewDll.dll是动态连接库,NewDll.lib是静态连接库。
注:下图红圈处:
点击查看配置管理器时,如下:
默认是32位的dll,因此生成的dll是不能在64位的程序中调用的。
64位dll生成
在配置管理器将目标平台改为x64位。
点击“生成”->“生成NewDll.dll”。这时解决方案目录下会多个x64的文件。
生成的64位dll文件是放在这里的。
注意
1.32位dll只能在32位程序中调用,64位只能在64位中调用。
2.打开时默认是生成的32位dll,生成后在解决方案的Debug下有此dll。
修改配置管理器的目标平台,可以生成64位的dll,生成后在解决方案的x64文件下有64位的dll。