网游活动专题站 - 新版本福利与赛事播报

  • 首页
  • 热门推荐
  • 版本速递
  • 赛事专区

最新发表

  • 瑭灵纪元·春启万象——灵域复苏季全服跨界守护计划
  • 瑭灵纪元·春启万象——灵域复苏季全服跨界守护计划
  • 新浪微博扫一扫在哪里?
  • 700亿“卖身”的赛百味,为何还玩不转中国市场?
  • 官员芬尼斯特
  • 工银融e联是不是停用了
  • 凹凸曼大作战:2025年5月10日全球玩家竞技狂欢盛典
  • 战神遗迹:2025春季全球挑战赛,赢取限定神装与荣耀称号!
  • 7 年猜图片游戏派对的 2025 个有趣创意
  • 初音速2025春季狂欢节:速度与音乐的极致碰撞

友情链接

Copyright © 2022 网游活动专题站 - 新版本福利与赛事播报 All Rights Reserved.

DLL动态链接库的创建与使用(实例教程)

热门推荐 · 2025-12-30 06:29:33

DLL动态链接库的创建与使用(实例教程)

一. 什么是动态链接库二. 创建DLL项目1. VS搜索模板dll,选择“动态链接库(DLL)”2. 配置新项目DLLdemo3. 新建自己的DLL(1). 创建头文件TestDLL.h,它是作用是用来声明需要导出的函数接口(2). 创建源文件TestDLL.cpp,它的作用是用来实现被声明的函数(3). 示例代码

4. 编译5. 生成.dll和.lib

三. 调用动态链接库1. 新建一个c++工程项目TestDLL2.将Dlldemo.dll、Dlldemo.lib、TestDLL.h三个文件添加到TestDLL项目文件夹下3. 将TestDLL.h添加进TestDLL项目4. 编写TestMain.cpp5. 测试结果

一. 什么是动态链接库

动态链接库是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件名的扩展名一般是dll,也有可能是drv,sys和fon,它和可执行文件(exe)非常类似,区别在于动态链接库中虽然包含了可执行代码却不能单独执行,而应由应用程序直接或间接调用。 动态链接库是相对于静态链接而言的。所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。换句话说,函数和过程的代码就在程序的可执行文件中,该文件包含了运行时所需的全部代码。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。而动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息)。仅当应用程序被装入内存开始运行时,在操作系统的管理下,才在应用程序与相应的动态链接库之间建立链接关系。当要执行所调用动态链接库中的函数时,根据连接产生的重定位信息,操作系统才转去执行动态链接库中相应的函数代码。 动态链接库的使用。当要执行所调用动态链接库中的函数时,根据连接产生的重定位信息,操作系统才转去执行动态链接库中相应的函数代码。在VS中创建动态链接库一般都会生成.lib文件和.dll文件,在应用程序项目里使用动态链接库要添加.lib文件,语令#pragma comment(lib,“xxx.lib”),这不是静态库的调用吗?其实这个文件记录了dll中函数的入口地址,所以要像静态库中的.lib文件一样,用同样的方式加到我们的项目里,添加好后直接运行会得到错误:由于找不到xxx.dll,无法执行代码。所以要添加,dll文件,一定要放在项目的.exe同一个路径下。还有几个注意事项:1、可以修改.lib文件的文件名,只要在项目引用它时是它目前的名称,但不能改变.dll的文件名,否则依旧会出现找不到.dll文件的错误。2、.dll文件也要和应用程序的位数相对应,要么都是64位,要么都是32位,不可交叉使用,否则报错应用程序无法正常启动。

二. 创建DLL项目

1. VS搜索模板dll,选择“动态链接库(DLL)”

2. 配置新项目DLLdemo

初始化后的界面,其中代码是自动生成的,不需要去修改

3. 新建自己的DLL

(1). 创建头文件TestDLL.h,它是作用是用来声明需要导出的函数接口

(2). 创建源文件TestDLL.cpp,它的作用是用来实现被声明的函数

(3). 示例代码

a. TestDLL.h:

extern "C" _declspec(dllexport) int Add(int a, int b);

extern “C”:作用是告诉编译器代码按C语言的方式进行编译 _declspec(dllexport):此修饰符告诉编译器和链接器被它修饰的函数或变量需要从DLL导出。与其相对的代码是_declspec(dllimport) 此修饰符告诉编译器和链接器被它修饰的函数或变量需要从DLL导入。 int Add(int a, int b)需要被其他程序调用的函数

b.TestDLL.cpp

4. 编译

出现无法启动程序是正常的,因为DLL不是可执行的.exe

5. 生成.dll和.lib

Debug文件夹下有.dll和.lib文件是我们需要的。

三. 调用动态链接库

1. 新建一个c++工程项目TestDLL

2.将Dlldemo.dll、Dlldemo.lib、TestDLL.h三个文件添加到TestDLL项目文件夹下

3. 将TestDLL.h添加进TestDLL项目

4. 编写TestMain.cpp

#include "TestDLL.h"

#pragma comment(lib,"Dlldemo.lib")

5. 测试结果

以上就是动态链接库的使用方式,一个简单的示例。


苹果手机怎么开机啊
新手必看1个月金毛犬训练视频教程从零基础到完美指令掌握科学喂养与行为纠正技巧解决乱咬乱叫分离焦虑等常见问题让宠物狗更听话更乖巧