windows下的DLL文件创建

本文介绍了如何使用C++在vc6.0环境下创建动态链接库(DLL),封装通用函数,并在其他项目中引用和调用这些函数。包括声明函数接口、编译生成DLL及lib库、在测试工程中引用DLL,以及释放DLL资源的步骤。通过实例展示了DLL的创建、使用及注意事项,旨在提高代码复用性和项目开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

                     在编写程序的过程中,我们可能会想将一些功能比较通用的函数写好之后进行封装,打包,提供给自己或者发布给其他人使用(如果你的DLL做的足够漂亮),可以对其重用,刚好我也遇到了这样的问题,然后找了找了一些资料整理了一下,其实是很简单的。我用的是vc 6.0,首先建立一个win32 动态链接库工程,然后将自己写好的程序(最好是经过比较严格的测试的程序,不然出问题改的话 ,还是比较麻烦的)copy到动态链接库的工程中,可能会需要一些class或者Struct的声明,然后就是声明到处函数的接口,

                     extern "C" _declspec(dllexport) int output(int &,int &b);

              int output(int &,int &b);是定义好的函数的接口。

               如果没有任何的错误,就可以编译生成DLL和对应的lib库,然后将对应的dll库拷贝到测试工程的目录下面。在已经建好的工程里面声明自己函数的接口。

                HMODULE hModule = ::LoadLibrary("test.dll");
                PFUN newfun1= (PFUN)::GetProcAddress(hModule,"output");

                    需要包含头文件<windows.h>,test.dll是动态链接库的文件名,output是接口函数名,全部ok之后就可以直接使用,直接调用就可以了,调用newfun1(a,b),就可以得到对应的输出。

               然后就是释放dll库::FreeLibrary(hModule);

               注:生成的DLL库可以同时声明几个函数接口,只需要把声明函数的接口就ok了,最后在使用完所有的dll库中的函数之后释放即可,但是原则上是如果几个函数用于实现一个功能,则将几个函数合并层一个函数并提供唯一的接口,功能模块独立的原则,能够增加DLL库的复用。并且使用起来也更加简单些。

              欢迎批评指正。

              

             

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值