C++在VS中导出DLL动态链接库文件的常规方法

①建立项目:
[新建项目]选择Win32控制台应用程序,输入项目名点击确定。
在Win32应用程序向导的应用程序类型中选择DLL,附加选项勾选空项目,如下图,之后点击完成。

②创建头文件,代码如下:

1
2
3
4
5
6
7
8
#ifndef DLLTEST_H
#define DLLTEST_H //防止重复定义
 
#define DECLDIR extern "C" __declspec(dllexport) //宏定义

DECLDIR int Test(int a, int b);  //函数声明

#endif


这里解释一下 __declspec(dllexport) 的作用是导出函数符号到DLL的一个存储类中

③创建源文件,代码如下

1
2
3
4
5
6
7
8
#include"DllTest.h"

DECLDIR int Test(int a, int b)
{

    return a + b;

}

这里要注意一下有些朋友喜欢将头文件的内容归并在stdafx.h中,但上文的代码放在这里是无效的,需要另外创建一个.h文件。
编码部分到这里就完成了,接下来点击[生成]->[生成DllTest],VS就好在项目根目录文件夹中的debug文件夹生成一个DllTest.dll文件。
当然如果对外发布请使用Release模式,成功导出的标志是该文件夹同时拥有.dll及.pdb文件,只有.dll文件这个Dll是不可用的。
有些朋友可能一开始创建项目的时候并不是DLL项目,所以点击编译时是不会生成DLL文件了,这里也可以通过设置进行调整
如图 点击[项目]->[DllTest属性]->[配置属性]->[常规]->[配置类型] 选择下拉框 [动态库(.dll)]

之后生成DLL文件的方法同上

这里我们用的VS版本为VS2005,其他版本的操作基本相同,以上方法仅仅为VS创建一个DLL文件的常规方法,还有其他的方法待续。
生成DLL之后我们就可以通过其他语言进行调用,使程序的编码组合更加的灵活多变。同时这个DLL是可以加壳的,这不仅对核心代码进行了封装并且在一定程度上做到了有效的保护。

BeiTown
2012.12.12

本文链接:C++在VS中导出DLL动态链接库文件的常规方法

转载声明:BeiTown原创,转载请注明来源:BeiTown's Coder 编码之源,谢谢


Tags: , , ,

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>