关于VS2008下的exe(MFC.exe)转成dll的leo成功完成

本文详细记录了如何将一个使用MFC的EXE应用程序转换为DLL的过程,包括修改源代码、处理WinMain冲突、资源导入以及动态调用DLL中函数的方法。通过新建MFC DLL工程,导入原EXE的源文件和资源,调整编译设置,并导出所需函数接口,成功实现了转换。
摘要由CSDN通过智能技术生成

     头儿让自己把写的lte dangle的测试工具打包出api交给其他厂商客户,我想也可以,只要把exe编译成dll,然后export出来几个函数接口不就OK了。结果是可行的,但是过程是“漫长”滴,呵呵,因为之前没做过。现在把这两天的成果写下来,毕竟耗费时间了。

 

思路:我是通过新建mfc的regular share的dll工程,然后把原来工程的.cpp和.h文件以及资源.rc和文件夹res导入新建dll工程对应目录。

 

导入我们会遇到的问题:

1、原来工程Cxx.h中的类是从CWinApp中继承下来的,里面隐含WinMain()函数,但是我们新建dll工程也有自己的WinMain()入口,这样我们就需要把要导入的原来工程中的Cxx.h中的相关类做修改,删去: public CWinApp,virtual BOOL InitInstance();DECLARE_MESSAGE_MAP()等。

2、很可能导入资源中含有对话框,这样只需要把原来工程的res文件夹和.rc文件copy到新建dll工程目录中,然后修改相关名称即可。如此你会发现自己是多么聪明,省去了一个大麻烦,不用再去新建对话框,让后按照原来dialog资源一个各种定义这么麻烦。

 

编译的环境:右击工程->属性->配置属性->general 把工程默认中的Use of MFC对应得改成Use MFC in a Static Library。

 

对应你想export那个函数,只要在新建工程dll中在新建.cpp,包含对应.h

//global.cpp,就像这个,在其他GUI调用ShowDlg这个函数,就会弹出相应对话框。

#include &

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值