DLL文件的创建以及使用

DLL文件分为普通函数和导出类,而dll的加载分为隐式加载和显示加载。下面分别介绍如何创建、

加载、使用普通函数和导出类。


图片镇贴。



一、生成普通导出函数


创建testFunc.h


创建testFunc.cpp


然后编译生成dll和lib文件。ok,普通的导出函数创建成功。


特别说明:

在编译链接时,C++会按照自己的规则来篡改导出的函数名称,这一过程叫做"名字改编"。该过程导致的问题就是不同编译器生成的dll,在别的编译器使用时会导致不识别,为了保证导出的函数名称不改变,需要加上限定符:

extern "C"。 因此应该是extern "C" _declspec(dlloexport)


二、生成导出类

导出类区别于普通类就是多了导出标识,相应的权限并没有改变。该是public的还是公有,privated仍是私有。


创建testClass.h(在这里我把类的实现也写在了头文件中,方便展示)


编译生成dll和lib文件。ok,导出类也生成了,是不是很简单呢。


三、隐式加载和使用dll文件(以vs2012为例)


新建main.cpp



(1)右键项目-"属性"-"附加库目录",把lib所在的目录添加进来

(2)右键项目-"属性"-"连接器"-"附加依赖项",添加要使用的Lib成的.lib,比如testFunc.lib

ok,隐式调用成功。说明一点,在项目中手动写入lib不够方便,那么可以去掉第(2)步,在main.cpp中手动载入

#pragma comment(lib,testFunc.lib)


对于导出类也是如此,需要在调用的文件中显式的给出类的结构声明,然后调用就OK。

同时,也可以不导出整个类,只导出部分函数。如下:


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值