初次使用DLL

本文介绍如何通过创建包含位图资源的DLL来优化软件中图片的加载过程。利用这种方法,不仅可以显著提高加载速度,还能保持程序的整洁有序。文章还探讨了在Visual Studio 2005中创建此类DLL的具体步骤。

动态链接库,可以输出函数,变量,位图等,今天第一次使用,做了一个资源DLL,用来存储图片,程序中大量使用图片,如果静态加载,会使软件比较大,动态加载放在某个文件夹里又很乱,所以想到了使用DLL存放软件位图,首先是新建DLL项目,加载位图资源,编译,这样就生成了一个含有大量图片的DLL,在程序里想使用时就动态加载,并且我测了一下速度,如果直接在程序里用SHLoadDIBitmap加载一张比较大的位图大约20ms,而加载一张同样大小的位图使用DLL大约只用了2ms,速度十倍的关系,如果程序图片数据比较大,使用DLL可以加快加载速度,并且所有图片都放在DLL里面,不管DLL放在哪,都不会因为图片路径被改变,程序而无法正常运行,程序只需要调用一个DLL库就可以。

还有就是我用的vs2005新建的Dll项目,我发现如果我的输出函数前面不加 extern “C”,在程序里就无法调用,返回的都是NULL,不知道问题出在哪里。


DLL使用步骤:


LoadLibrary("name.DLL");   加载动态库

获得输出函数地址:GetProcAddress()

获得位图数据   :LoadBitmap()

需要注意的是LoadBitmap()第二个参数要用到位图ID,这里的ID,一定要和生成DLL库工程里加载的位图数据ID一样,调用时可以直接吧DLL项目里定义的位图ID直接拷过来使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值