动态库空间优化

1. 使用-OS编译

Os在-O2的基础上,去除对齐的功能,意在去除空白空间,在与-O2几乎一致的效率上面,追求空间优化

2. objcopy去除comment段

.comment段:存放的是编译器版本信息,比如字符串"GCC:(GNU)4.2.0"

objcopy是交叉编译链的工具

3.去除未被使用的function和data

(1)编译时候加上 -ffunction-sections   和 -fdata-sections
(2)链接时候加上 -Wl,-gc-sections

如: LD_FLAGS    += -Wl,-gc-sections        CC_FLAGS+=-ffunction-sections

4. 隐藏符号

对于动态库只需要头文件的接口对外可见,其余的隐藏。

(1)对外可见函数加上 __attribute ((visibility("default")))
(2)编译的时候加上-fvisibility=hidden

 

转载于:https://my.oschina.net/xgcode/blog/2240178

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值