动态链接库dll

如果要想正常使用动态库的东西,首先需要确定动态库的东西是被可导出的,然后再确定对动态库的东西进行导入的问题。链接动态链接库有,两种方法:静态链接和显式链接。本文只讲解如何静态链接动态链接库。

重要知识点:

#define  DLLexprot __declspec(dllexport)    //dll库里用的,用于导出dll库的东西
#define  DLLimport __declspec(dllimport)    //程序里用的,用于导入dll库的东西

在导入dll库的头文件时,要把头文件原来的#define DLLexprot __declspec(dllexport) 替换成导入的宏#define DLLimport __declspec(dllimport)

以上是经验,接下来是导入DLL库的步骤

一、将动态链接库(既dll文件)放入debug(既你程序的exe可执行文件所在的位置),将头文件(既 .h为后缀的文件名)和链接文件(既后缀名为 .lib 的文件)放入到程序的根目录下(既程序的头文件(.h)和源文件( .cpp)文件所在的位置)

二、将你的动态链接库的头文件导入到项目中

点击头文件--->右击---->添加---->添加现有项

添加到程序后,修改头文件,把头文件原来的#define DLLexprot __declspec(dllexport) 替换成导入的宏#define DLLimport __declspec(dllimport)

例子如下:总结一点就是:导入程序的头文件是修改后的头文件,修改的方面有两个:一个是把导出宏变为导入宏,另一个是删掉你不想给别人看的东西

dll原来的头文件

修改后的头文件

三、导入链接

直接用#pragma comment(lib, "MFCDLL.lib")语句直接导入,在这MFCDLL.lib是我的链接文件名,这个方法是用相对路径的方法,需要你把lib文件放入程序的头文件(.h)和源文件( .cpp)文件所在的位置

也可以直接使用绝对路径

#pragma comment(lib, "F:\\ MFCDLL.lib")

接下来就可以直接使用啦;

 

最最最重要的一点,导入程序的头文件跟dll库编译的头文件是不一样的,切记切记。。。。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++ 中,可以使用动态链接库DLL)的方式实现代码模块的重用。下面是一个简单的例子,演示如何在 Windows 系统中创建一个简单的动态链接库: 首先,创建一个新的 C++ 项目,并在该项目中添加一个新的源文件。 将以下代码粘贴到新的源文件中: ``` #include <iostream> #include "example.h" using namespace std; __declspec(dllexport) int add(int a, int b) { return a + b; } __declspec(dllexport) int subtract(int a, int b) { return a - b; } ``` 其中,`__declspec(dllexport)` 用于指定该函数是动态链接库中可导出的函数。 然后,创建一个名为 `example.h` 的头文件,并在其中声明 `add()` 和 `subtract()` 函数: ``` #pragma once __declspec(dllexport) int add(int a, int b); __declspec(dllexport) int subtract(int a, int b); ``` 保存并编译代码,然后生成 DLL 文件。在 Visual Studio 中,可以通过选择“生成”菜单中的“生成解决方案”选项来生成 DLL 文件。 最后,在另一个项目中使用该 DLL 文件。在该项目中,需要包含 `example.h` 头文件,并链接到 DLL 库。这可以通过在 Visual Studio 中的“属性” -> “链接器” -> “输入”选项卡中设置来完成。 现在,可以在另一个源文件中使用 `add()` 和 `subtract()` 函数: ``` #include <iostream> #include "example.h" using namespace std; int main() { int a = 10, b = 5; cout << "a + b = " << add(a, b) << endl; cout << "a - b = " << subtract(a, b) << endl; return 0; } ``` 编译并运行该代码,将会输出以下内容: ``` a + b = 15 a - b = 5 ``` 这就是使用 C++ 创建动态链接库的基本步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值