在共享DLL中使用MFC 和在静态库中使用MFC的区别
来源:互联网 发布:easyui 表单插件js 编辑:程序博客网 时间:2024/06/10 01:13
"在共享DLL中使用MFC"指的是打包时一些MFC的DLL的内容没有被硬编码到在EXE文件中,所以EXE会文件较小,但是运行时要求运行的系统环境中要有相关的DLL文件.
"在静态库中使用MFC"是将DLL对应的lib静态库中的相关代码硬编码到EXE文件中,文件较大,但是可以在没有已经被包含DLL的机器上运行,当然即使如此也并非所有的DLL都会将其硬编码到Exe中,因此仍然某些DLL是必须的.比如Redistributable Package中的某些DLL.
静态库中编译出来的可执行文件拿到其它机器上也可以运行,共享DLL中编译出来的可执行文件在本机上可以执行,若拿到其它机器上就需要相应的动态库支持。
另外,共享DLL下的工程大小会稍小一些,但是在另一台机器上运行时务必保证那一台机器上有动态库支持。
a. 在属性-常规-MFC的使用 中,当为“在共享 DLL 中使用 MFC”时,则工程会自动将在属性-C/C++-代码生成中的运行库置为动态编译形式(根据debug模式和release模式而言,为多线程调试DLL和多线程DLL);
b. 在属性-常规-MFC的使用 中,当为“在静态库 中使用 MFC”时,则工程会自动将在属性-C/C++-代码生成中的运行库置为静态编译形式(根据debug模式和release模式而言,为多线程调试MTD和多线程MT)。
c. 在属性-C/C++-预处理器-预处理器定义中,_AFXDLL是在动态编译中进行的,即为“在共享 DLL 中使用 MFC”。因此,如果预处理器定义中有_AFXDLL宏定义,则工程必须在动态编译中进行,即为多线程调试DLL或多线程DLL。
- 在共享DLL中使用MFC 和在静态库中使用MFC的区别
- 在共享DLL中使用MFC 和在静态库中使用MFC的区别
- 在共享DLL中使用MFC 和在静态库中使用MFC的区别
- 在共享DLL中使用MFC 和在静态库中使用MFC的区别
- 在共享DLL中使用MFC 和 在静态库中使用MFC的区别 .
- MFC的使用 在共享DLL中使用MFC 和在静态库中使用MFC的区别
- 在共享DLL中使用MFC和在静态库中使用MFC有什么区别
- 在共享DLL中使用MFC 和在静态库中使用MFC区别
- 在共享DLL中使用MFC 和在静态库中使用MFC区别
- 在共享DLL中使用MFC 和在静态库中使用MFC区别 .
- 在共享DLL中使用MFC 和 在静态库中使用MFC 区别
- 在共享DLL中使用MFC 和在静态库中使用MFC区别
- 在共享DLL中使用MFC 和在静态库中使用MFC区别
- 在共享DLL中使用MFC与在静态库中使用MFC的区别
- 在共享DLL中使用MFC与在静态库中使用MFC的区别
- vs发布版本 在静态库中使用 MFC 和 在共享 DLL 中使用 MFC 的区别
- MFC VS2013 在静态库中使用MFC 和在共享DLL中使用MFC 切换
- 在共享Dll和静态库中使用MFC的区别
- POI导出Excel
- 图论500题
- iReport与JasperReport中如何支持pdf中文显示
- Vim实战手册(1)初级个性化配置你的Vim
- 【TOJ 3402】Man Down【SPFA】
- 在共享DLL中使用MFC 和在静态库中使用MFC的区别
- Word Ladder
- 解决游戏中的通货膨胀问题
- poj2823 优先队列
- STL容器
- SVN版本控制
- 为什么ZeroMQ不应该成为你的第一选择
- [水]ZOJ1508
- VS2010出现unsuccessfulbuild”,因为已指定“AlwaysCreate”