使用高版本IDE开发+生成小exe/dll

先摘抄网上一段:

首先来简单对比一下两套系统:
VS2010,自带10.0版本的MFC、CRT等DLL库,新的编译器(部分支持C++ 11标准、包括LAMBDA表达式),功能强大而完善的IDE环境。新的安全特性与SHE处理函数。
VC6.0,自带4.2版本的MFC、CRT等DLL库,很老的编译器(并且很不标准),功能勉强够用的IDE环境。


VS2010生成的东西体积小、效率高,但是需要使用的基础支持库众多。为了发布一个几十k的小程序,还要一并发布msvcr100.dll msvcp100.dll MFC100.dll等等支持库。到目前为止这些库并不是随着操作系统一起发布的。


VC6.0生成的东西优化与安全性有限。但是一大优势是,它生成的程序,所需的基础支持库,如MFC42.dll ,msvcrt.dll,msvcp60.dll,从Windows XP时代就已经是随着操作系统捆绑发布的。这对于一个中小型程序的发布来说,无异是非常便利的。

同样的,在网上看到的文章都需要比较麻烦的设置,我写了个工具,可以对VS2013(理论上VS2010往后都可以,但是只测试了vs2013)的工程文件进行处理,使之可以编译为链接到MFC42.dll的exe,体积很小。 
你需要做的是:
1.下载VC6解压缩SDK,或下载安装Windows2003 platform sdk
2.新建MFC工程或使用现有的MFC工程,注意SDI/MDI只支持“MFC标准”样式
3.打开本工具,设置SDK目录,拖入MFC工程文件进行转换,完成。
全程不需要VC6的MSDEV.EXE参与(也不需要安装或解压缩这个开发环境,只需要SDK)。
LAMBDA表达式等高级语法是可以支持的,因为这是编译器支持的,不过该SDK没有的东西就没办法用了,比如CString::Trim,需要自己手动使用CString::TrimLeft+CString::TrimRight。
本工具也是使用vs2013开发并使用自身转换的,体积有点大是因为内部集成了一些SDK的文件用于更新VC6的SDK,原版SDK里面很多语法不严谨高版本编译器无法通过,所以摘了一些Windows2003 platform sdk的文件集成在工具中。
工具主要修改了stdafx.h以及*.vcxproj文件。其实是很简单的东西只不过之前可能没有人把他整合起来。 

居然不能上传附件,请到这里下载:

https://bbs.pediy.com/thread-222495.htm

http://www.jmpoep.com/forum.php?mod=viewthread&tid=3943


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yes2/article/details/78426231
文章标签: MFC vc6
个人分类: 小工具
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭