有个老版静态链接MFC库的MFC程序需要迁移到VC2019编译,直接用VC2019打开就会自动迁移过去,然后编译一下,生成的EXE大小将近3MB,老版的工程编译出来也就600多KB。
肯定哪里不对劲!
好一顿研究之后发现原来默认会把MFC控件编译进去,然后EXE体积就会变得很大了,把MFC控件关掉就好了。
#define _AFX_NO_MFC_CONTROLS_IN_DIALOGS // 移除对话框中对 MFC 控件的支持
在预编译头加上这句代码就好了,编译出来的大小瞬间变回几百KB。