选择显示字体大小

编译宝典:执行文件极速瘦身攻略

  在网上,有好多绿色软件,不仅功能强大,而且软件本身的体积非常小。有的通常只在几十k左右。那他们是怎么做到把软件做的怎么小的呢?现在我手把手的告诉你如何通过修改程序的编译选项来瘦身你的执行文件。

  先看一个最典型的程序:


  #include <stdio.h>
  int main()
  {
  printf("hello, world!\n");
  return 0;
  }

  上面的程序之所以被称之为典型,是因为他有如下的内容:
  1、系统函数调用:printf
  2、有静态数据段

  好,现在把此文件放到visualstudio6.0中进行编译,看看文件有多大。
  1、用visualstudio6.0打开helloworld.cpp文件,直接按f7。然后点击ok,生成project文件,然后进行编译。编译完成了以后,看看debug目录下的执行文件的大小,为172,096bytes。

  2、刚才编译的debug文件,现在修改成release文件看看。选择win32 release,再编译。察看执行文件大小,现在成了40,960bytes。看来debug版本的要比release的小。

  3、检查代码优化:发现执行文件的优化是maximize speed。那么修改成minimizesize看看。重新编译,得到执行文件的大小为:40,960bytes。看来大小没什么变化。其实这是由于我们的代码本身太小的缘故,导致即使变化了也看不出来。

  4、想想我们程序的main函数是由crt类库进行引导的。在我们现在的设定当中,由于采取的是系统缺省的编译连接方式(缺省为编译为single thread,staticlibrary),所以,在我们的执行文件当中,包含了crt的二进制代码。好,修改编译选项:c/c++ => category:code generation => use run-timelibrary:mutithreaded dll。编译看看:执行文件大小变成了16,384bytes。

  5、刚才的设定确实不错,一下子把执行文件大小减小到了16k。现在用ultraedit看看执行文件都是些什么内容。结果大吃一惊:基本上都是0。看来这个有减小的必要了。都知道,执行文件都有自己的代码段,数据段等等,每个段的大小也是采用编译器缺省设定的。好,我们来修改一下段的大小看看:





 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons