ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MFC exe项目封装成DLL

2021-07-26 15:32:48  阅读:154  来源: 互联网

标签:文件 exe void MyDll DLL MFC rc cpp MyExe


一言以蔽之:给原项目包层接口。

具体实现:

  1. 新建一个MFC的DLL项目(MyDll);
  2. 删除MyDll项目的.rc文件;
  3. 将正常运行的exe项目(MyExe)的所有文件包括.h,.cpp,.rc和资源文件等复制到MyDll项目,MyExe.rc文件重命名为MyDll.rc
  4. 删除原实例化WinApp的.cpp类及其头文件,(一般名称为MyExe.cpp和MyExe.h);将所有对它的引用改成MyDll.h;(不做这一步会产生datacore.cpp line:380的错误);
  5. 在MyDll.cpp添加代码:
  6. extern "C" __declspec(dllexport) void ShowDlg(void)  
    //void ShowDlg(void)
    {  
    
    AFX_MANAGE_STATE(AfxGetStaticModuleState());//为了保证代码准确防止调用失败
    CFileBrowserDlg dlg;  
    dlg.DoModal();  
    
    }

  7. 选择生成方式,dllexport或者def(需要去掉extern “c” _decispecl(dllexport))编译即可生成MyDll.lib和MyDll.dll文件;
  8. 在其他项目需要的地方引用这两个文件即可。

标签:文件,exe,void,MyDll,DLL,MFC,rc,cpp,MyExe
来源: https://blog.csdn.net/weixin_43856994/article/details/119109818

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有