原文:http://blog.csdn.net/greatws/archive/2009/06/10/4256190.aspx
装了VS2008的SP1补丁,发现一个Release版本静态链接的程序就有1.65M,这也太大了吧,然后看了下和VS2005里的不同之处,原来CxxxApp类从CWinAppEx类继承,并非先前的CWinApp类,改回去试试,重新编译,大小变为372K,哈哈原来就是这个地方。
猜测是由于Microsoft Visual C++ 2008 Feature Pack的原因。
有以下3处需要修改
BEGIN_MESSAGE_MAP(CxxxApp, CWinAppEx)
CWinAppEx::InitInstance();
class CxxxApp : public CWinAppEx
如果你的程序中用不到ActiveX控件(貌似大多数都用不到),可在向导中去掉ActiveX控件复选框(默认是勾上的),这样大小就变为277K,又少了将近100K。
如果已经选择了ActiveX控件复选框,可以注释掉如下语句:
AfxEnableControlContainer();
接下来277K,加一个UPX或者ASPACK压缩壳,就只有100多K大小了,够不错吧?

2 仁心博客
2010/1/8 10:12:46
1 vetements
2009/12/8 17:27:39