在VS中创建和使用动态链接库DLLWord文档下载推荐.docx
- 文档编号:16620010
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:16
- 大小:1.34MB
在VS中创建和使用动态链接库DLLWord文档下载推荐.docx
《在VS中创建和使用动态链接库DLLWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《在VS中创建和使用动态链接库DLLWord文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
2、给项目添加头文件:
15MyDLL.h,
3、查看项目属性:
配置属性->
C/C++->
预处理器->
预处理定义:
已经自动加上“MY15MYDLL_EXPORTS”,把它修改成“EXPORT_DLL”,不修改也是可以的,只是字符串比较长而已,应用并确定。
4、在头文件中,写入代码:
#ifndefEXPORT_DLL//如果没有在项目配置属性->
预处理器定义了“EXPORT_DLL”
#defineEXPORT_API__declspec(dllimport)//宏定义__declspec(dllimport)为EXPORT_API,即为导入,从DLL中导入到应用程序
#else//否则(如果在于处理器定义了EXPORT_DLL)
#defineEXPORT_API__declspec(dllexport)//EXPORT_API被定义成导出__declspec(dllexport),从DLL中输出变量、函数或类等
#endif//!
EXPORT_DLL
添加全局变量、函数和类:
externEXPORT_APIfloatconstPII=3.14159;
//导出一个常变量,要赋初值,在头文件中,要用extern修饰为全局变量,
EXPORT_APIfloat圆面积(float);
//导出一个函数
classEXPORT_API球体//导出一个类,EXPORT_API跟在类名前,在关键字class后
{
public:
球体();
~球体();
private:
};
给类添加变量:
给类添加成员函数:
5、生成DLL动态库:
注意:
在*.cpp中,#include"
stdafx.h"
要在#include"
15MyDLL.h"
前面哦,不然会有一堆错误出现!
#include"
在前,就没有出错。
6、将生成的DLL对应的*.dll、*.lib和*.h复制出来,拷贝到应用程序中项目中,导出相应的变量、函数和类。
二、DLL动态库在应用程序开发中的使用
1、创建一个控制台应用程序:
新建->
Windows桌面->
windows控制台应用程序,输入项目名称,选择好创建位置,确定。
2移除不需要的头文件*.h和*.cpp源文件:
选择删除文件:
用同样的方法删除不需要的*.cpp源文件:
3、在应用程序.cpp中删除包含已删去的*.h等语句:
最终清理成为:
看起来清爽多了吧!
4、用鼠标右键选择项目解决方案–>
生成解决方案:
出现错误:
pch.h被我删除了,
右键选择项目名称属性:
选择C/C++->
预编译头–>
不使用预编译头->
应用->
确定。
再次选择项目解决方案->
重新生成解决方案:
顺利通过,成功生成应用程序:
5、复制上一个创建DLL动态库项目中生成的*.dll到本应用程序项目中的Debug目录中,
把生成的DLL动态库文件复制过来了:
同样的方法,把上一个创建DLL动态库项目中的DLL头文件和生成的*.lib文件,复制到本项目文件夹中:
再把创建动态库的头文件也复制在该文件夹中:
6、将复制过来的动态库的头文件添加到项目中:
添加到项目中了:
在使用动态库的应用程序cpp源文件中,包含该头文件,并添加语句:
usingnamespacestd;
打开包含的头文件,并作适当修改后,保存:
右键选择项目属性:
器->
输入->
附加依赖项->
编辑->
添加动态库的入口文件.lib:
键入lib文件名称后,确定。
重新生成解决方案:
没有错误!
7、在该应用程序cpp源文件中添加导出变量、函数、和类的代码:
重新生成解决方案,ok!
运行结果:
大功告成!
把该项目Debug中的应用程序.exe和动态库.dll复制到其它的文件夹中单独运行,也是没有问题的。
双击可执行exe文件运行:
没有任何问题!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VS 创建 使用 动态 链接 DLL