VS2017 DLL动态库使用教程【四】使用头文件

本文详细介绍了如何创建DLL并供其他程序调用的过程。包括定义DLL导出宏、编写DLL源文件和头文件,以及如何在项目中正确配置和使用DLL。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何让我们的dll程序也能像<stdio.h>一样让别人使用呢?

很简单,我们需要先新建两个文件。

其中mydll.cpp和mydll.h都是需要你在dll项目中新建的,如果你不知道怎么新建一个dll项目,请阅读本教程第一章。

建立完成后,我们首先写mydll.h,代码如下:

#ifndef  MYDLL_EXPORTS //条件编译指令,判断是否定义了 MYDLL_EXPORTS

#define MYDDLL _declspec(dllexport) //如果定义了,MYDDLL宏定义为如下
#else
#define MYDDLL _declspec(dllimport) //没有定义,MYDDLL宏定义为如下
#endif

MYDDLL int add(int a, int b); //头文件

mydll.cpp如下

#include "mydll.h"
#define MYDLL_EXPORTS //这里定义了MYDLL_EXPORTS 触发myddll.h的条件编译

int add(int a, int b)
{
	return a + b;
}

在DLL有一个原则,DLL项目中,函数声明为_declspec(dllexport)

而APP(使用DLL的程序)函数声明为_declspec(dllimport)

所以我们使用条件编译指令,这样DLL定义MYDLL_EXPORTS这个宏,条件编译就把MYDLL声明_declspec(dllexport) 。

使用DLL的程序没有定义MYDLL_EXPORTS,条件编译就把MYDLL声明_declspec(dllimport)。

如果不明白请配合阅读上边的代码。

 

在你的项目中使用头文件

在DLL目录下找到三个文件,"mydll.h","DLL_1.lib","DLL_1.dll",具体名称以你项目命名为准。

也就是一个头文件,一个lib,一个dll,一般lib和dll默认在debug目录下。

然后新建一个文件夹,名称随意,但是要建两个子文件夹,分别是"bin","include"

我把他建在d盘下,名称为mydll

然后把头文件放到include,lib和dll放到bin里

 

然后设置你要使用这个dll程序的属性,选择VC++目录,包含目录设为上边新建的include,库目录设为bin

点击这个添加

 

代码与运行结果如下,值得注意的是,仍然需要#pragma comment(lib,"DLL_1.lib") 否则还是找不到函数

 

笔记中代码均保存到我的网盘下,链接:https://share.weiyun.com/5HMq3Cc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值