windows下dll文件的创建详细教程

windows下dll文件的创建详细教程

1、前言

dll文件是啥,就不作过多赘述了。现在直接教大家如何创建与使用dll文件。

本文基于windows系统,使用的编译相关工具为visual studio 2019。

2、创建dll

2.1 创建dll工程

首先打开visual studio,然后选择创建新项目,在搜索框中输入dll,然后选择下面的动态链接库(DLL)即可,然后点击下一步。

在配置新项目这一步,可以根据自己的需要,设置项目名称、位置等即可。设置前好之后点击创建即可。

2.2 删除多余的文件并添加源文件

在创建的dll解决方案中可以看到,系统已经预生成了一些头文件和源文件。这些是系统预生成的,本身与创建dll关系不是很大,为了帮助大家理解。可以暂时先移除这些文件。

移除这些文件的方法是,依次在每个文件上右键,然后选择移除。

这样就可以移除每个文件

移除完之后,源文件、头文件目录均为空,然后就可以添加文自己的文件了。

首先在头文件目录上右键,然后选择添加 - ->新建项

然后选择标头,然后输入标头文件名即可。

然后用同样的方法,在源文件目录上右键,然后选择添加 -> 新建项

然后选择c++源文件,然后输入源文件名。

操作完成之后,可以看到头文件和源文件目录下面分别各有一个文件。

2.3 编写源文件

首先编写头文件,内容如下:

// math.h

#ifdef MYDLL_EXPORTS

#define MATH_API __declspec(dllexport)

#else

#define MATH_API __declspec(dllimport)

#endif

MATH_API int Add(int a, int b);

MATH_API int Sub(int a, int b);

这里需要做一个简单的说明:

由于这个头文件,dll本身源文件(math.cpp)以及使用dll的文件都会使用,因此需要一个导出接口和一个导入接口。

对于dll文件本身来说,它需要一个导出接口,这样这个dll文件才能被其它程序调用;

对于其它程序来讲,它需要一个导入接口,这样就可以导入dll文件并使用了。

为了到达这个目的,通过条件编译的方式,在本工程中会自动定义一个宏MYDLL_EXPORTS, 这样dll文件项目本身就是导入接口,由于在其他项目中没有定义宏MATH_EXPORTS,这样就会使用导入接口。

下面接着编写源文件,源文件内容如下:

// math.cpp

#include "math.h"

int Add(int a, int b) {

return a + b;

}

int Sub(int a, int b) {

return a - b;

}

2.3 生成dll文件

在生成dll之前,还需要明确生成的版本,到底是release版本,还是debug版本,到底是x64,还是x86。

这里本身可能影响不大,但是dll的版本和使用dll的版本一定要一致。比如生成dll使用的debug/x64,那么使用dll文件的项目,也只能是debug/x64。

然后在myDll解决方案上右键,点击生成即可。

不出意外的话,生成结果是失败的,并且提示:

这是因为我们在步骤2.1中删除了一些文件。

这是需要删除相关预编译头。具体做法如下:

在myDll解决方案上右键 -> 属性,在预编译头选择不使用预编译头。

设置好之后,然后重新生成,就可以在相关目录下面看到生成的dll文件了。

至此dll文件就生成成功,然后其它项目就可以调用该dll文件了。

相关推荐

沐雨听风
beat365下载唯一官方网

沐雨听风

07-04 👁️ 886
世界各地足球比赛角球数量对比分析 哪些国家和联赛角球最多
汽车喷漆怎么喷效果好?怎样喷漆效果最好
365bet体育注册开户

汽车喷漆怎么喷效果好?怎样喷漆效果最好

07-06 👁️ 2671
荣耀9屏幕体验详解(清晰细腻,色彩饱和度高,观影游戏更享受)
微信怎么申请新账号
beat365下载唯一官方网

微信怎么申请新账号

07-03 👁️ 3330
1990年國際足協世界盃
必发365手机app

1990年國際足協世界盃

06-28 👁️ 8579