DLL技术

DLL的生成:

1.__declspec(dllexport)用来声明,和标准export差不多。但是这个是dll中声明向外输出的函数或者是类。

2.__declspec(dllexport)是一个修饰词,但是应该到函数的前面,class 和 名字 中间。也就是:

class __declspec(dllexport) name ; 

3.extern "C" 也是一个修饰词,代表了函数的命名规则,如果指定了这个,那么只适用于C语言的dll,原名字就是他的名字。这个主要是显示LoadLibrary函数之后获得函数指针需要的函数名会有影响。如果没有指定这个,那么名字会很奇怪。但是如果使用lib和dll一起的话,就可以避免这个问题,还可以定义def文件来避免这个问题。

4.函数调用规则也是一个注意的地方。但是目前没见到这方面的问题。

5.DLLMain入口,每一次调用这个库都会调用这个入口,如果不指定,就默认。可以写看也可以不写。

6.lib和dll+lib:如果是lib,那么编译之后就会把所有的代码都放到一起,就会很大。但是如果是lib和dll一起的话,lib负责函数名字和入口,dll负责实现。那么编译之后的exe也会很小。

7.lib和.h文件最好都需要。就是可以在工程中直接设置PATH。但是dll的寻找就没办法了。如果是双击生成的.exe运行,那么就和PATH环境变量有关。所以你可以自己定义一个环境变量,然后把输出的lib和dll放到那个文件夹里面。如果是直接在VS2013中运行,不知什么原因,不会找path中的文件,所以可以在 属性 -> 调试 -> 工作目录 中指定你自己的dll在的目录,就没问题了。同时include和lib可以使用绝对路径。也不用设置。这样直接就好了。

8.lib和dll好像不可以分开指定生成目录。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值