window平台动态库的制作

       winow的动态库有两种使用方法:一是动态链接,一是隐式加载。

       动态加载:直接编写.c文件和模块定义文件。动态加载是在程序运行时要使用到这个库的函数时,才把使用的函数加载到程序的内存空间。在程序中无需包括头文件和设置.lib文件,而是调用一组库的操作函数实现对库函数的使用。

       隐式链接:编写.c文件和头文件。有一点要注意的是在编写的时候要注意防止对函数名的改编,因为不同编译器对函数名的改编是可能不同的,这个问题可以通过用extern “C”来解决。使用extern “C”的缺点是无法导出一个类的成员函数。还有一点要注意的是函数的调用方式,如果是Dephi语言就是标准调用(posix),此时在.c文件中对应的也要用标准调用方式。在编译的时候要把.lib连接文件放到工程目录下,并修改工程设置。隐式链接是程序一开始运行就把要使用的动态库文件加载到程序的内存空间。

       库中函数有_declspec(dllexport)的导出标识才可以被其他程序使用。在其他程序中使用_declspec(dllimport)表明导入的函数或写在一个头文件中。

      查看一个库有哪些函数是被导出的可以使用dumpbin工具,dumpbin也可以查看一个程序导入了哪些库,此外也可以用VC的Depend工具。

       库的制作可以参考:

       http://v.youku.com/v_playlist/f3378617o1p13.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值