减小Gcc编译程序的体积

https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html

GoRustNeverStop 2016-07-23 12:41:23 6351 收藏
展开
众所周知,Gcc编译的原始程序一般很大,其实有几种方法能大大减小目标代码的体积,一般有以下几种方法。

 基本知识来源:http://www.mingw.org/wiki/Large_executables

1、禁用调试信息

 Release编译时不要加上-g开关。

2、使用-Os编译程序。

不要使用-funroll-loops等可以加速程序执行但是会大大增加目标代码体积的开关。

3、编译后的程序使用strip去除符号和偏移(限于可执行程序和共享库,其他易出问题)。

4、如果你不需要RTTI,编译时加入-fno-rtti。

5、如果你不需要处理C++异常,编译时加入-fno-exceptions。

6、使用UPX之类的可执行程序压缩程序(只推荐用于可执行程序,用于其他也可,但是较浪费内存)。

 例如,使用wxWidgets动态编译的程序初始体积可能有429KB,经过以上方式(未经UPX压缩)处理后,体积减少为108KB,UPX压缩后体积为35KB。

typescript 源码分析

https://www.cnblogs.com/xuld/p/12180913.html

阅读全文

flutter_gen config

const configDefaultYamlContent = ''' name: UNKNOWN flutter_gen: Optional output: lib/gen/ Optional line_length: 80 Optional parse_metadata: false ...

阅读全文

redis 函数的含义

您提供的函数列表是一个 Redis 客户端 API 的部分实现,通常用于与 Redis 数据库进行交互。以下是这些函数的简要解释,按类别进行分类以帮助理解其功能和用...

阅读全文

欢迎留言