VS2010和VS2008 KB2465361之后,MFC静态链接 EXE体积变大问题

MFC初探 下面差不多算是最短的一个mfc示例了,先新建一个win32空项目,添加一cpp,加入如下代码 #include // MFC 核心和标准组件class CMinMFCApp : public CWinApp{public: CMinMFCApp(); virtual BOOL InitInstance();//虚函数。。待查};CMinMFCApp::C 阅读详情

原文链接:http://tedwvc.wordpress.com/2011/04/16/static-mfc-code-bloat-problem-from-vc2010-is-now-in-vc2008-sp1security-fix/

大意是:

在KB2465361之后。themehelper.cpp 中调用了afxglobals.cpp中的 AfxLoadSystemLibraryUsingFullPath函数。造成afxglobals.obj 的引入。从而产生代码至少增加1.2M。

解决方法

1.卸载KB2465361,这个方法太弱智了。不小心也许又打上了。

2.在你自己的工程的stdafx.cpp中增加以下代码



其实这段代码与afxglobals.cpp中的代码一样。目的只是避免引入afxglobals.obj。

这样,你的程序体积又恢复正常了。减肥成功。。。恭喜恭喜。


推荐下面的方法

1、stdafx.h中注释掉
//#include <afxcontrolbars.h> // 功能区和控件条的 MFC 支持

2、app中将从CWinAppEx派生改成从CWinApp派生(直接在 stdafx.h 里 #define CWinAppEx CWinApp)

3、副作用:会导致一些头文件需要自己加


打了VS2008 SP1补丁会将CWinApp升级为CWinAppEx..这也是增肥的原因之一

visual c++减少exe文件体积大小 vc通过修改配置项,使MFC生成的20KB的EXE变得只有9KB.zip vc减少exe文件体积大小 vc通过修改配置项,使MFC生成的20KB的EXE变得只有9KB.zip 立即下载

相关推荐

高效低功耗设计:PMOS电子开关在墨水屏与ADC采样电路中的创新应用

本文深入探讨了PMOS电子开关在低功耗设计中的创新应用,特别是在墨水屏和ADC采样电路中的关键作用。通过详细分析PMOS的导通机制和近乎零静态功耗特性,展示了其在待机低功耗场景下的显著优势,并提供了实用的电路设计技巧和元器件选型建议,帮助工程师实现极致的功耗优化。

weixin_29193359的博客 161

解决VS2008中MFC静态编译出来的文件太大问题

使用vs2008+MFC进行开发,发现静态编译出来的文件超级大,超出了可以忍受的范围。于是做了如下实验: vs2008下:test 1、新建一个默认的MFC对话框工程,采用共享MFC的方式,生成文件:82KBtest 2、新建一个默认的MFC对话框工程,采用静态链接MFC的方式,生成文件1.66MB vs2005下:test 1、新建一个默认的MFC对话框工程,采用

I Habit I DO 4303

机器学习预测材料性能:从特征工程到SHAP可解释性分析

机器学习在材料科学中的应用,核心在于将复杂的材料性能预测问题转化为数据驱动的建模任务。其基本原理是通过算法从历史数据中学习特征与目标属性之间的映射关系。这项技术的价值在于能够大幅加速新材料的发现与设计周期,降低传统“试错法”的高昂成本。在工程实践中,它广泛应用于预测如形成能、带隙、弹性模量以及居里温度等关键材料性能。具体到磁性材料领域,居里温度的准确预测对于永磁体和自旋电子器件设计至关重要。本项目深入探讨了如何利用特征工程从材料成分与结构中构建有效描述符,并借助SHAP这一可解释性工具,揭示模型决策背后的物

weixin_27155667的博客 650

VS2022 MFC程序打包成exe安装包的方法

最近刚学习MFC,代码编写完成后,Debug或者本机可以正常运行程序,但是在别的电脑上运行就会提示缺少一堆.dll文件导致运行失败,参考了一些配置MFC静态库等等的方法还是无果。,这个软件可以自动分析依赖库封装成安装包,其它还有许多配置功能,软件使用起来很简单,跟着他的流程走就可以了,唯一需要的是Debug生成的exe文件。在绝望之际,找到了一个打包神器。

河间老王的博客 4614

Mid-360与FAST-LIO2实战:从点云采集到高精度建图全流程解析

本文详细解析了使用Livox Mid-360激光雷达与FAST-LIO2算法实现高精度实时建图的全流程。内容涵盖硬件准备、软件环境搭建、算法部署配置、数据采集实战,并重点探讨了多楼层场景下的参数调优与误差抑制策略,为机器人及无人机三维感知应用提供了实用指南。

prometheus9mon的博客 411

flink新版本无bat启动文件的解决办法

flink

6 4932

vc编译exe文件之体积极速优化

http://blog.chinaunix.net/uid-21736802-id-1817654.html 人们都说vc做出的东西可以小点,现在你打开vc编译一个Hello World出来!点属性看下,咦!我没走眼吧,就一Hello World就160kb真是要人命啊! 呵呵!上面的情况是笔者所遭遇的情况.不过后来了解vc可以通过设置参数来自定义编译方式.为什么文件那么大!主要是编译器加入了很

爱自在的专栏 1665

别再用默认参数了!手把手教你用2P2Z补偿网络优化Buck电源的动态性能

本文详细介绍了如何通过2P2Z补偿网络优化Buck电源的动态性能,解决默认参数下的负载阶跃响应问题。从频域分析到元件选型,再到实测验证,手把手教你提升相位裕度,显著降低超调量和稳定时间,适用于DCDC和开关电源设计。

weixin_33657398的博客 255

如何减小MFC程序的体积,CWinApp和CWinAppEx

在使用VS2008时,未安装vs2008sp1,MFC对话框应用程序基类为CWinApp。 安装vs2008sp1后,其基类为CWinAppEx。 为了避免在其他机器上运行缺少运行库,采用在静态库中使用MFC,但体积为1.7M多,对于一个小小的应用程序,体积确实有些大。应用程序继承的是CWinAppEx,我们可以把CWinAppEx改为CWinApp,或者在stdafx中宏定义#define 

错位竞争,单点突破。 7249

计算机视觉-全景图像拼接中的特征匹配与优化策略

本文深入探讨了计算机视觉中全景图像拼接的核心技术,重点解析了特征匹配后的关键优化策略。通过SIFT特征提取、RANSAC算法剔除误匹配,并结合APAP算法应对视差与鬼影问题,详细阐述了从基础对齐到无缝融合的完整流程,为开发者实现高质量全景拼接提供了实用指南。

weixin_29039773的博客 361

Windows版,vcenter 6.0 STS 证书更新--Vcenter 6.0 windows 版,没有-set_signing_cert 替换参数

Windows版,vcenter 6.0 STS 证书手动更新

技术是手段,服务才是目的。开源与协作是创新的活水,而核心技术的自主可控是立足之本。身处黄金时代,唯持续学习,方能不惧变化。从使用者到创造者,中国技术的未来,正待你们接过火炬,走得更远、更稳、更好。 670

VS 2022使用MFC编写FTP客户端

1.点击修改2.选择使用C++的桌面开发,勾选红线部分3.选择完成之后,点击上方的“单个组件”勾选红线部分4.点击最右下角的修改,等待安装。

qq_50938817的博客 7057

2025华为od机试真题B卷【停车场费用统计】Python实现

2025华为od机试真题B卷【停车场费用统计】Python实现

MISAYAONE的博客 535

转:VS2010和VS2008 KB2465361之后,MFC静态链接 EXE体积变大问题

原文链接:http://tedwvc.wordpress.com/2011/04/16/static-mfc-code-bloat-problem-from-vc2010-is-now-in-vc2008-sp1security-fix/大意是:在KB2465361之后。themehelper.cpp 中调用了afxglobals.cpp中的 AfxLoadSystemLibraryUsingFullPath函数。造成afxglobals.obj 的引入。从而产生代码至少增加1.2M。解决方法1.卸载KB2

aaronwang81的专栏 1531

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

MFC静态链接 EXE体积变大问题

2011-05-07 19:08 VS2010和VS2008 KB2465361之后,MFC静态链接 EXE体积变大问题 原文链接:http://tedwvc.wordpress.com/2011/04/16/static-mfc-code-bloat-problem-from-vc2010-is-now-in-vc2008-sp1security-fi

1642

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Win32到MFC,第一个MFC程序(从Win32项目到MFC工程)

同时修改项目属性使用MFC类库,静态库和共享DLL都可以,这里采用共享DLL库中使用MFC。注意:MFC在内部已经封装好WinMain函数,自己不需要写WinMain函数。在MFC中没有窗口处理函数,但是可以通过继承CDialog类,添加窗口处理函数。首先先创建Win32程序,通过下面的步骤创建MFC项目。Initinstance可以简单的理解MFC的入口函数。创建MFC工程有三步。

dodamce的博客 823

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VS2010修改C++项目为“静态库中使用MFC”编译问题

1 更改项目属性里如下的选项: (1)项目 -> **属性 -> 配置属性 -> 常规 -> MFC的使用 :在静态库中使用MFC。 (2)项目 -> **属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库 :多线程(/MT)。 2 在debug的时候要选 /MTd, Release 版本的再用 /MT

钟斌的博客 4526

MFC程序减少体积的方法

MFC程序减少体积的方法我们先新创建一个MFC程序:去掉安全开发周期检查,在静态库中使用MFC默认创建好之后我们编译看一下体积:DEBUG:9MB多RELEASE:3MB多(优化代码)可以看到MFC框架包含的运行库还是非常多的,但是我们在创建MFC工程的时候以(对话框),有两个选项:HTML对话框,是以HTML超文本文件标记来描述对话框而无增强的MFC控件是指:对一些原基础控件进行增强,继...

17岁boy的博客 3377

老版MFC工程迁移到VC2019编译EXE太大的问题

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

haart的专栏 1628

vc编译出来的exe太大----解决办法

1、编译时采用Release模式,这样比Debug模式小得多 2、右键工程-->属性-->配置属性-->C/C++ -->优化-->选择"使大小最小化" 3、若采用MFC:右键工程-->属性-->配置属性-->常规-->MFC的使用-->在共享DLL中使用MFC(相反在静态库中使用MFC会很大) 4、少使用资源文件,尽量使用较小的资源文件,若采用MFC,可以看看Res目录下的exe图标文件(

woshiyuanlei的专栏 3605

把vc编译exe的体积做到最小

把vc编译exe的体积做到最小 2009-01-04 5:59    人们都说vc做出的东西可以小点,现在你打开vc编译一个Hello World出来!点属性看下,咦!我没走眼吧,就一Hello World就160kb真是要人命啊!      呵呵!上面的情况是笔者所遭遇的情况.不过后来了解vc可以通过设置参数来自定义编译方式.为什么文件那么大!主要是编译器加入了很多

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 2321

VS2010 如何缩减编译文件大小(statically linked MFC)

自从 VS2005 升级到 VS2010 之后,build出来的文件(exe、dll)就莫名的增大了很多,MSDN的blog上有一篇blog,详细描述了size增大的原因,以及缩减的方法。 总结如下 原因: size增大是因为DLGINIT 的引入。他允许在dialog上增加MFC控件。而这个function在static link的过程中会引入很多可能并不需要的function,因为在

jtujtujtu的专栏 6312

2023年最全盘点 | 7款桌面应用程序开发框架

WinForm、WPF、MFC、wxWidgets、Qt、GTK、 Electron 7款桌面应用程序开发框架盘点

weixin_51627076的博客 4万+

VS2010文件过大解决方法

vs2010打开某个工程 ,转换成功之后,在工程目录看见一个sdf文件和一个ipch文件夹,都超大(起码几十M),我一个四百多k 的工程,结果用vs打开过后变成了两百多兆。详解:  大家也许发现了,visual studio 2010 中新建一个项目会同时建立一个ipch目录与sdf文件,即使你删掉它,再次打开工程时还是会重新建立。动辄30、50M的容量让我们心里很不爽。其实这 是2010的

liwenya的专栏 1411
上一篇: 坑爹的dsfksvcs.sys
下一篇: 屯,烫,췍,쳌之谜
MagicFuzzX
博客等级 码龄16年 25粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值