VS2013编写和调用动态链接库
来源:互联网 发布:手机性价比 知乎 编辑:程序博客网 时间:2024/06/06 17:33
本文主要是在参考文章的前提下进行完善,参考文章网址为:
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29121609&id=3851844
本人小白一枚,VS2013这个IDE基本不了解,计算机原理之类的课程也没有学过,但为了用VS2013编写和调用动态链接库,查阅了很多博客,上面这一篇是我觉得比较好的,但就算我一步一步按照上述文章的步骤来进行,还是差一步,所以果断拿出来与大家分享!
小白在此郑重说明,我不懂里面的程序如何编写,我只是提供给大家一个流程性质的解决方案,如果涉及到上述文章的引用问题,我会删除,感谢前辈们为我们做的贡献!
一、创建动态链接库项目:
1、打开Microsoft VisualStudio 2013,选择:文件->新建->项目。
2、在 ”新建项目” 中选择:模板>VisualC++->Win32。
3、选择 ”Win32控制台应用程序”,名称:simpledll,设置解决方案名:zdddll。
4、单击 ”确定” ,在出现的Win32应用程序向导的对话框中点击 ”下一步” 。
5、在 ”应用程序设置” 中,选择 ”应用程序类型” 下的DLL。
6、勾选 ”附加选项” 下的 ”空项目” 。
7、单击 ”完成” 创建项目。
向动态链接库添加类:
1、添加新类头文件。右键单击simpledll项目,添加->新建项目,选择 “头文件(.h)”,设置名称为simpledll.h,单击 “添加”。
2、添加新类源文件。右键单击simpledll项目,添加->新建项目,选择 ”C++ 文件(.cpp)”,设置名称为 “simpledll.cpp”,单击 ”添加”。
3、为新类添加内容。内容如下:
头文件simpledll.h:
//------------------ simpledll.h----------------
#pragma once;
//该宏完成在dll项目内部使用__declspec(dllexport)导出
//在dll项目外部使用时,用__declspec(dllimport)导入
//宏DLL_IMPLEMENT在simpledll.cpp中定义
#ifdef DLL_IMPLEMENT
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
namespace zdd
{
//导出类
class DLL_API SimpleDll
{
public:
SimpleDll();
~SimpleDll();
int add(int x, int y); //简单方法
};
}
源文件simpledll.cpp:
//------------------ simpledll.cpp----------------
//注意此处的宏定义需要写在#include"simpledll.h"之前
//以完成在dll项目内部使用__declspec(dllexport)导出
//在dll项目外部使用时,用__declspec(dllimport)导入
#define DLL_IMPLEMENT
#include "simpledll.h"
namespace zdd
{
SimpleDll::SimpleDll()
{
}
SimpleDll::~SimpleDll()
{
}
int SimpleDll::add(int x, int y)
{
return x+y;
}
}
4、完成后点击 “生成->生成解决方案” 或者 右键单击simpledll项目,然后选择”生成”。可在 zdddll\Debug下查看生成的simpledll.lib和simpledll.dll.文件。在Debug的调试模式下,一共生成5个文件。如果你也生成了,那么恭喜你,创建动态链接库已经成功。
二、创建引用动态链接库的应用程序:
1、在 ”解决方案资源管理器” 的引导栏中 右击”解决方案”zdddll””,然后选择: 添加->新建项目。
2、在 ”添加新项目” 中选择:VisualC++->Win32-> Win32控制台应用程序,设置名称:usesimpledll,选择”确定”
3、在出现的 ”Win32 应用程序向导” 的对话框中点击 ”下一步”。
4、在 “应用程序设置” 中,选择 “应用程序类型” 下的 “控制台应用程序”。
5、在 “附加选项” 下,勾选 “空项目” 。
6、单击 “完成” 创建项目。
7、右击usesimpledll项目选择 ”设置为启动项目”.
在控制台应用程序中使用类库的功能:
1、为控制台应用程序添加main.cpp。右键单击usesimpledll项目,添加->新建项目,选择C++ 文件(.cpp),设置名称为main,单击 “添加” 。
2、为main.cpp添加内容。如下所示:
//------------------ main.cpp-------------------
#include "simpledll.h"
using namespace zdd;
#include <iostream>
using namespace std;
int main(char argc, char**argv)
{
cout<< "----------------------" << endl;
SimpleDll*psd = new SimpleDll;
cout<< "psd->add: 5+5=" << psd->add(5, 5) <<endl;
cout<< "psd->getConst(): " << endl;
cout<< "----------------------" << endl;
cout<< "please press Enter exit." << endl;
getchar();
return0;
}
3.在工程目录下建立include目录,将动态链接库的那个头文件(simpledll.h)拷入。建立lib目录,将Debu文件夹下生成的那个.lib文件拷入。然后将生成的.dll文件拷入生成.exe文件的那个目录(一般是项目下的Debug下)。如果你和我一样,将两个工程建立在同一个文件夹下面,那么他们将共用一个Debug文件夹,如果不是和我一样,而是你将两个工程建立在两个文件下面,那么就需要你复制粘贴以下.dll文件了。
4.接下来要配置工程,右击usesimpledll项目,选择 属性->配置属性->VC++目录->包含目录(单击倒”V”,选择”编辑”,然后找到刚刚新建的include文件夹路径)->库目录(和包含目录操作相同,但是这次不是找include文件夹路径,而是找lib文件夹路径)。接下来选择:链接器->输入->附加依赖项, 单击倒”V”,选择”编辑”,然后输入我们生成的lib文件的名字加.lib,这次输入是simpledll.lib,然后单击确定,这样整个工程就配置好了,运行即可成功。
总结
首先建立生成DLL的工程,生成.dll,.lib文件。需要用到的还有.h文件。
然后建立应用DLL的工程。要包含头文件,把3个文件拷入相应的目录。
在包含目录和库目录中添加.h和.lib的路径,同时在链接器的输入的附加依赖项中添加.lib文件的全称。
- VS2013编写和调用动态链接库
- VS2013 编写调用 动态链接库
- VS2013调用动态链接库
- C#编写和调用动态链接库
- VS2013环境生成和调用DLL动态链接库
- VS2013 c++ 生成和调用DLL动态链接库
- VS2013环境生成和调用DLL动态链接库
- VS2013 c++ 生成和调用DLL动态链接库
- VS2013 动态链接库下,动态调用和静态调用的注意点事项
- vs2010中动态链接库的编写和调用
- C++对动态链接库的编写和调用
- C和C++编写、调用动态链接库的方法
- vs2013创建和使用动态链接库
- VS2013环境生成和调用DLL动态链接库(第一种方法)
- VS2013/VS2015生成动态链接库DLL、调用DLL
- VS2013调用*.m文件生成的动态链接库*.dll
- java调用vs2013编写的dll动态库
- VS2013创建动态链接库
- 新手三周使用ssm+easyui搭建的CompanyManager(cms)进行数据库优化
- Raphael 使用手记
- Mysql报错!Communications link failure due to underlying exception
- HTTP返回码中301与302的区别
- Python菜鸟--字符串
- VS2013编写和调用动态链接库
- 查看LINUX进程内存占用情况 top pmap ps
- Mac升级到macOS Sierra 10.12后SVN管理软件Conerstone破解版安装后提示“已损坏”问题
- ECCV A Discriminative Feature Learning Approach for Deep Face Recognition
- STM32内存管理以及堆和栈的理解
- 问题记录
- Windows学习总结(7)——学会CMD命令提示符的重要性
- 服务器的多域名配置
- iOS JSONKit配置