MFC程序减少体积的方法

我们先新创建一个MFC程序:

去掉安全开发周期检查,在静态库中使用MFC

默认

创建好之后我们编译看一下体积:

DEBUG:9MB多

RELEASE:3MB多(优化代码)

可以看到MFC框架包含的运行库还是非常多的,但是我们在创建MFC工程的时候以(对话框),有两个选项:

HTML对话框,是以HTML超文本文件标记来描述对话框

而无增强的MFC控件是指:对一些原基础控件进行增强,继承重写,这些增强的组件会比原组件支持更多的扩展性功能,这些库不会呈现在控件表里,而是以库文件形式存在,.h形式包含,一般都是基础控件类前面加一个C比如CBUTTON,增强控件:CCBUTTON,但是我们只是想写一个简单的对话框控件,我们用不到,所以我们可以把它去除掉:

在新建一个MFC工程:

编译后体积大小:

DEBUG:7MB多

Release:1MB多

注意选择无增强MFC控件后编译可能会报重定义的错误:

这里我们在stafx.h文件中把这一行代码去掉即可!

原因分析:

在不使用无增强的MFC控件之后,MFC工程引用了其他win32静态库,而MFC底层是Win32API实现的,所以导致了静态库重复加载,将这行宏去掉,其它的头文件在编译时就会加载Win32静态库!

因为MFC在编译时会加载很多运行时库,某些库可能根据此宏定义来确定是否加载某些Win32库!

MFC程序减少体积的方法相关推荐

  1. pdf压缩方法总结pdf如何减少体积方法

    现实生活中,我们碰到的pdf扫描版文件十分庞大,基本都在100M或者几百兆有没有方法可以减少体积而又不损失清晰度方法呢,方法还是有的,只不过需要自己总结探索,目前就笔者方法总结一下: 第一种方法:使用 ...

  2. MFC程序隐藏任务栏图标的三种方法

    在VC编程中,有时候我们需要将我们的程序在任务栏上的显示隐藏起来,我试过几种方法,下面我介绍一下我知道的三种方法. 第一种方法是设置窗口WS_EX_TOOLWINDOW扩展样式,通过在OnInitDi ...

  3. C++MFC编程笔记day01 MFC介绍、创建MFC程序和重写消息处理

    一.MFC概念和作用 1.全称Microsoft Foundation Class Library,我们称为微软基础类库,封闭了绝大部分的win32 Api函数,C++语法中的数据结构,程序的执行流程 ...

  4. 让vc编译出的程序减小体积

    让vc编译出的程序减小体积 转自邪恶八进制 ----------------------------- 人们都说vc做出的东西可以小点,现在你打开vc编译一个Hello World出来!点属性看下,咦 ...

  5. 小程序打包体积过大的解决方案

    一 背景 分包是小程序给出的类似于web异步引入的一个方案,把一些初始进入时不需要的页面放到分包里,跳转到对应页面时再去下载分包,从而有效减少主包体积. 项目背景: 公司的小程序项目使用taro来实现 ...

  6. 改善C#程序的50种方法

    摘要:为什么程序已经可以正常工作了,我们还要改变它们呢?答案就是我们可以让它们变得更好.我们常常会改变所使用的工具或者语言,因为新的工具或者语言更富生产力.如果固守旧有的习惯,我们将得不到期望的结果. ...

  7. C# 改善程序的50种方法

    本文转载连接: http://blog.csdn.net/hr541659660/article/details/51556563?locationNum=12&fps=1 目录(?)[+] ...

  8. 改善C#程序的50种方法(转)

    ,为什么程序已经可以正常工作了,我们还要改变它们呢?答案就是我们可以让它们变得更好.我们常常会改变所使用的工具或者语言,因为新的工具或者语言更富生产力.如果固守旧有的习惯,我们将得不到期望的结果.对于 ...

  9. 小程序包体积压缩优化,下降500k起步

    由于公司小程序包体积过大,已经达到1.9m了,微信定义小程序单个代码包(主包/分包)上限为2m,所以小程序该减肥了 如果你按我的步骤都做了,体积没有减少,ok,来打我 文章目录 第一步:最直接的方式 ...

最新文章

  1. AttributeError:module 'numbers' has no attribute 'Integral'.
  2. PHP密码复杂性验证,JS检查密码强度 检查密码复杂度
  3. java 夏令时区_如何获得另一个时区的夏令时状态
  4. 图片的 css sprite的应用思考
  5. ubuntu安装mysql_如何在Ubuntu14.04中安装mysql
  6. C51单片机-蓝牙遥控小车
  7. 灰色关联分析与预测模型
  8. 评价法(一):层次分析法的步骤和方法
  9. Visual studio code 使用 Team Foundation Server - Windows
  10. 山茶油的功效与食用方法
  11. 缓存在日常生活中的体现
  12. Android 原生语音播报
  13. iOS 生成二维码 原生代码
  14. SK Innovation全球锂电战略布局揭秘
  15. 将Excel中的文本转换为数字
  16. 贪心算法题目 电池的寿命
  17. 开发过程中遇到问题怎么解决?
  18. simulink示波器数据导入到matlab并画图
  19. printf从右向左计算,从左向右打印
  20. iWatch使用一年综合测评

热门文章

  1. freemarker 解析对象的某元素_Freemarker常用技巧(三)
  2. Java long传到前台精度损失解决方案
  3. 商标注册流程与注意事项
  4. 数据库修改后 前台同步更新 php,PHP实现前台页面与MySQL的数据绑定、同步更新...
  5. 小程序二维码需要发布正式版后才能获取到_IOS14.3正式版发布时间12月15日:苹果ios14.3正式版内容一览[多图]-游戏产业...
  6. java数组求和函数_令人头痛的表格函数,今天送你11个常用技巧,一次学会受用一生...
  7. vim 安装_vim实战:插件安装(Vundle,NerdTree)
  8. 用友数据库最新会计期间_6千左右预算,2021年Word/Excel/用友/ 金蝶/SQL数据库-财务会计轻薄笔记本推荐...
  9. mysql 查询某个值非空_MySQL查询在单行中计算非空值
  10. python控制窗口_Python : Turtle窗口控制