DLL创建与使用
本文最后更新于:5 个月前
1. 前言
在一些项目开发过程中,有时需要将自己写的C++程序给别人调用。如何去做呢?我们可以将C++代码编译为.dll结尾的文件,然后在其他项目中使用这个文件,从而调用里面的应用程序。
2. 生成.dll文件
2.1 使用VS2019创建项目
创建动态链接库项目->下一步
创建名为Dll2的项目名
创建的项目会自动生成一些文件,包括framework.h/pch.h/dllmain.cpp/pch.cpp文件,如下:
对于pch.h预编译头的处理,如果一些较小的项目可以忽略不计。对于一些大项目,或者包含很多需要预编译的宏定义时,可以考虑使用者预编译头,它可以提高程序的执行效率。
如果想去掉这一行#include “pch.h”,也可以在项目名上->右键->属性->配置属性->C/C++->预编译头->不使用预编译头。如果不这样操作,删掉pch.h文件后,生成解决方案时会出现错误,如上。
2.2 编写工程代码
删掉一些不需要的自动生成的代码,创建两个简单的代码,math2.h和math2.cpp文件,文件目录如下:
math2.h代码如下:
1 |
|
2.3 生成.dll和.lib文件
生成.dll文件只需要在菜单栏的“生成”选择“生成解决方案”即可。
在代码的项目目录下,可以看到.dll文件和.lib文件,输出方式可以选择Debug模式或者Relese模式,选择不同模式生成的目录也会不同。
2.4 引用动态链接库
引用动态链接库时,主要有4个步骤,分别如下:
1)包含头文件目录
2)包含lib文件目录
3)链接器附加依赖项,添加lib文件
4)将dll文件复制到所需项目的文件中
新建空白项目
可以在新建的项目中,创建include和lib两个目录,include里包含需要引用的头文件,lib中包含.lib文件。dll文件复制到主函数同级目录中。
新建一个空白项目,命名为test2,再新建一个test2.cpp文件
代码如下:
1 |
|
右键项目->属性->配置属性->VC++目录
包含目录:头文件
库目录:.lib文件
链接器->输入->附加依赖项,添加.lib文件名
运行结果: