VS2013编写一个DLL,并创建EXE对DLL进行调用
来源:互联网 发布:中信银行软件 编辑:程序博客网 时间:2024/06/05 01:10
一、创建DLL项目
文件->新建->项目->Visual C++ win32控制台程序(填写项目名makeDLL)->下一步->(应用程序设计)勾选:DLL、导出符号->完成
二、项目自动生成DLL模板
makeDLL.h// 下列 ifdef 块是创建使从 DLL 导出更简单的// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 MAKEDLL_EXPORTS// 符号编译的。在使用此 DLL 的// 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将// MAKEDLL_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的// 符号视为是被导出的。#ifdef MAKEDLL_EXPORTS#define MAKEDLL_API __declspec(dllexport)#else#define MAKEDLL_API __declspec(dllimport)#endif// 此类是从 makeDLL.dll 导出的class MAKEDLL_API CmakeDLL {public:CmakeDLL(void);// TODO: 在此添加您的方法。};extern MAKEDLL_API int nmakeDLL;MAKEDLL_API int fnmakeDLL(void);
// makeDLL.cpp : 定义 DLL 应用程序的导出函数。//#include "stdafx.h"#include "makeDLL.h"// 这是导出变量的一个示例MAKEDLL_API int nmakeDLL=0;// 这是导出函数的一个示例。MAKEDLL_API int fnmakeDLL(void){return 42;}// 这是已导出类的构造函数。// 有关类定义的信息,请参阅 makeDLL.hCmakeDLL::CmakeDLL(){return;}
在makeDLL.h中声明要被调用的函数
MAKEDLL_API int Add(int a, int b);
在makeDLL.cpp中实现要被调用的函数
MAKEDLL_API int Add(int a, int b){return a + b;}
三、生成项目,在Debug中生成的文件如下
四、创建要使用DLL的EXE项目
文件->新建-> 项目->Visual C++ win32控制台应用程序(填写项目名testDLL)->一路下一步.....
五、引入DLL
1、将makeDLL.h、makeDLL.lib放入testDLL文件夹
2、在资源管理器处,项目名称上右键,点开最下面属性页,选择C/C++->常规->附加包含目录,写入makeDLL.h文件的路径
3、同样方法,进入属性页,选择 链接器->常规->附加库目录,写入makeDLL.lib 文件路径
4、项目testDLL生成,出现Debug文件夹,将makeDLL.dll文件拷贝进Debug文件夹
5、在testDLL.cpp文件中,对DLL中函数进行调用
#pragma是一条编译器指令,告诉编译器要链接一些东西,在comment里指明是什么
#include "stdafx.h"#include<iostream>#include "makeDLL.h"#pragma comment(lib,"makeDLL.lib") //指定与静态库一起链接,手动包含(标题3所示)之后可以省略int _tmain(int argc, _TCHAR* argv[]){int a, b, c;std::cin >> a >> b;c = fnmakeDLL(a, b);std::cout << c << std::endl;system("pause");return 0;}
6、运行结果显示
阅读全文
0 0
- VS2013编写一个DLL,并创建EXE对DLL进行调用
- VS2013创建并使用DLL
- 用Delphi编写一个Svchost.exe调用的DLL模块
- 用Delphi编写一个Svchost.exe调用的DLL模块
- 用Delphi编写一个Svchost.exe调用的DLL模块
- VFP编写DLL,并调用
- Qt 编写DLL 并调用
- Qt 编写DLL 并调用
- Qt 编写DLL 并调用
- Qt 编写DLL 并调用
- VS2013封装DLL动态库并调用
- VS_2005_创建DLL工程,并进行调用与调试例子
- VS2010, VS2013 创建和调用 DLL
- cl创建并调用dll
- DELPHI创建并调用 DLL
- 创建并调用Win32 DLL
- 3分钟完成在VS创建一个DLL并调用
- Qt5.0 编写DLL 并调用
- Inno Setup 简单安装脚本
- 基于OpenAS2 V2.3.0的使用心得 二 之配置
- 各种本本的Mac OS X 下载
- Vue常用经典开源项目汇总参考-海量
- 关于jquery的插件treeTable的表格点击不会跳出子节点的问题
- VS2013编写一个DLL,并创建EXE对DLL进行调用
- Python文件遍历的三种方法
- Android提醒微技巧Dialog、Toast和Snackbar
- 离散题目6
- 【转】Makefile文件名处理函数
- Vue入门之组件化开发
- 操作系统(一)
- iOS-JPush 3.0 版本相关问题<Background modes>
- 什么是异常,异常的分类?