我的mfc程序体积很大

cschenshou 2010-02-10 07:51:30
去年创建的mfc空对话框才200~300K(静态链接、Release版本)
突然发现现在的mfc空对话框有1.5M(静态链接、Release版本)。都是VS2008,差别怎么就这么大呢?
...全文
744 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2010-02-11
  • 打赏
  • 举报
回复
VC6编译的比VC8编译的小很多
cdm2179 2010-02-11
  • 打赏
  • 举报
回复
应该是静态库 变大了吧
cschenshou 2010-02-11
  • 打赏
  • 举报
回复
顺便祝愿一下新年快乐哈!没有可用分了,后来的几位兄弟对不住了。。。
magic7004 2010-02-11
  • 打赏
  • 举报
回复
我晕,才1M多,就算很大。对跑vs2008的机器来说,小于1G的软件都算小软件吧。
cschenshou 2010-02-11
  • 打赏
  • 举报
回复
引用 16 楼 skyxie 的回复:
vs2008 sp1增加了很多GUI的功能(MFC feature pack),基于dlg的工程, CXXXApp是 从CWinAppEx派生的!

如果你不用 MFC feature pack中界面库的功能,那你可以把工程中的所有CWinAppEx替换成CWinApp,应该就和vs2008不带sp1的时候一样的了!

的确如此,换掉以后立马变成200多K了!
非常谢谢啊!
cschenshou 2010-02-11
  • 打赏
  • 举报
回复
引用 11 楼 sjdev 的回复:
查看的话,使用depends.exe就可以。

谢谢,我用了一下,发现现在的空对话框比以前的空对话框依赖的库多出这些:
GDIPLUS.DLL
IMM32.DLL
MSIMG32.DLL
lllyyy2403 2010-02-11
  • 打赏
  • 举报
回复
引用楼主 cschenshou 的回复:
去年创建的mfc空对话框才200~300K(静态链接、Release版本)
突然发现现在的mfc空对话框有1.5M(静态链接、Release版本)。都是VS2008,差别怎么就这么大呢?

你可能做了什么修改吧,比如加个什么资源图片进去,就很容易增加几MB的。
skyxie 2010-02-11
  • 打赏
  • 举报
回复
vs2008 sp1增加了很多GUI的功能(MFC feature pack),基于dlg的工程, CXXXApp是 从CWinAppEx派生的!

如果你不用 MFC feature pack中界面库的功能,那你可以把工程中的所有CWinAppEx替换成CWinApp,应该就和vs2008不带sp1的时候一样的了!
sjdev 2010-02-10
  • 打赏
  • 举报
回复
查看的话,使用depends.exe就可以。
cschenshou 2010-02-10
  • 打赏
  • 举报
回复
引用 9 楼 zoulie 的回复:
将各种优化选项全开试下
http://www.cppblog.com/woaidongmao/archive/2009/10/19/98920.html

谢谢!我试了一些,一般是几KB的改变。后来我把程序改成动态链接,生成的程序才88K。也许真的是打了SP1的问题,增加了很多库。
请教如何查看或修改编译进的MFC库?
zoulie 2010-02-10
  • 打赏
  • 举报
回复
将各种优化选项全开试下
http://www.cppblog.com/woaidongmao/archive/2009/10/19/98920.html
zoulie 2010-02-10
  • 打赏
  • 举报
回复
将各种优化选项全开试下
http://www.cppblog.com/woaidongmao/archive/2009/10/19/98920.html
zealand_1 2010-02-10
  • 打赏
  • 举报
回复
貌似没有解决方法吧,
cschenshou 2010-02-10
  • 打赏
  • 举报
回复
引用 5 楼 sjdev 的回复:
重新编译代码了吧,不然的话不会自动变化的。

代码没做改变的话,那指定是那些静态库变大了。

呵呵,我觉得很不可思议。
还有就是编译以前的2008工程,生成的程序体积没有明显变化,仅仅是创建的新工程会出现体积暴增。
期待解决方案中。。。
sjdev 2010-02-10
  • 打赏
  • 举报
回复
重新编译代码了吧,不然的话不会自动变化的。

代码没做改变的话,那指定是那些静态库变大了。
cschenshou 2010-02-10
  • 打赏
  • 举报
回复
引用 1 楼 xsc2001 的回复:
呵呵,是因为MFC的类库变了,增加了很多库,所以变大了。vc6编译的确实很小,换成2005及2008的就大了很多。

可以前也是用2008啊,我不是跟VC6比的。
sb3day 2010-02-10
  • 打赏
  • 举报
回复
看错了,像一楼说的,因为MFC的类库变大了
sb3day 2010-02-10
  • 打赏
  • 举报
回复
因为是静态链接的,可能加入了图片等使程序体积变大
xsc2001 2010-02-10
  • 打赏
  • 举报
回复
呵呵,是因为MFC的类库变了,增加了很多库,所以变大了。vc6编译的确实很小,换成2005及2008的就大了很多。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧