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文件了。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Visual Studio Code 中添加头文件DLL 文件,您需要通过以下步骤完成: 1. 打开 Visual Studio Code,打开您的项目文件夹。 2. 在项目文件夹中创建一个名为 `.vscode` 的文件夹,用于存放 Visual Studio Code 的配置文件。 3. 在 `.vscode` 文件夹中创建一个名为 `c_cpp_properties.json` 的文件,用于配置 C/C++ 的属性。 4. 打开 `c_cpp_properties.json` 文件,将以下代码粘贴到文件中: ```json { "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", "C:/path/to/header/files" ], "defines": [], "compilerPath": "C:/path/to/your/compiler", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "msvc-x64", "browse": { "path": [ "${workspaceFolder}" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } } ], "version": 4 } ``` 其中,`includePath` 指定了头文件的搜索路径,`compilerPath` 指定了编译器的路径。您需要将 `C:/path/to/header/files` 替换为您的头文件所在的路径,将 `C:/path/to/your/compiler` 替换为您的编译器所在的路径。 5. 在项目文件夹中创建一个名为 `lib` 的文件夹,用于存放 DLL 文件。 6. 将您的 DLL 文件复制到 `lib` 文件夹中。 7. 打开您的项目文件夹中的 `tasks.json` 文件,将以下代码粘贴到文件中: ```json { "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "gcc -o ${workspaceFolder}/out/main.exe ${workspaceFolder}/src/*.c -I${workspaceFolder} -L${workspaceFolder}/lib -lmydll", "group": { "kind": "build", "isDefault": true } } ] } ``` 其中,`-I` 指定头文件路径,`-L` 指定库文件路径,`-l` 指定链接的库文件名。您需要将 `mydll` 替换为您的 DLL 文件名(不包含文件扩展名)。 8. 在 Visual Studio Code 中,按 `Ctrl + Shift + B` 快捷键,选择 `build` 任务,即可编译您的项目并链接 DLL 文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值