如何减小编译后可执行文件的大小
2011-02-12 11:42
363 查看
CFLAGS += -ffunction-sections -fdata-sections
LDFLAGS += -Wl,-Map=object.map,--cref,--gc-section
if found overlap error, add one line in Link script:
.text{
*(.text.*)
}
通过增加CFLAGS选项,使得各个函数放到单独的section内,在链接的时候会自动去掉没有使用的函数。从而达到减小可执行文件大小的目的。
-Wl,-Map=object.map:输出一个可执行文件的map文件,可以查看各个函数所在的内存地址。
注意:使用该选项后,全局变量不会自动设为0。
相关文章推荐
- 如何减小 Visual C++ 2010 静态编译出的 MFC 可执行文件的大小
- 如何减小lazarus编译可执行文件的大小
- 如何压缩Golang 编译出的可执行文件大小
- 关闭RTTI反射机制减小Delphi 2010编译出的可执行文件的大小
- 如何减小Lazarus编译出的文件的大小
- 如何减小可执行文件的大小
- 如何减小可执行文件的大小 - minimize your excutables
- 如何减小Lazarusv IDE v1.2.4 编译出的文件的大小
- [DEV] 如何减小可执行文件的大小
- 关于在VC++6.0中同时有多个main()文件时如何实现执行编译和运行
- 减小Delphi 2010/delphi XE编译出来的文件大小
- 如何优化PNG,JPG图片减小图片文件大小
- 如何移动表来达到减小数据文件大小的目的
- 减小Delphi 2010/delphi XE编译出来的文件大小
- C/C++程序减小可执行文件的大小
- 减小VC6编译生成的exe文件的大小的方法
- 如何移动表来达到减小数据文件大小的目的
- C文件如何成为可执行文件(编译、链接、执行)——摘自《程序员的自我修养》
- 如何减小APK文件的大小
- 如何在OS X Lion下编译FFmpeg生成可执行文件