Code Size

本文探讨了如何在GCC编译器下减小代码体积,包括使用TCM(Tiny C Compiler)、ZI(Zero Initialization)和RO(Read-Only)段等技术,通过实例分析和编译选项调整,实现代码大小的有效优化。
摘要由CSDN通过智能技术生成
RO,RW,ZI 和scatter file详解(转载) 
http://blog.chinaunix.net/uid-24460251-id-2606775.html
http://blog.chinaunix.net/uid-9185047-id-445087.html


bss段(未手动初始化的数据)并不给该段的数据分配空间,只是记录数据所需空间的大小。
data(已手动初始化的数据)段则为数据分配空间,数据保存在目标文件中。


数据段包含经过初始化的全局变量以及它们的值。BSS段的大小从可执行文件中得到 ,然后链接器得到这个大小的内存块,紧跟在数据段后面。当这个内存区进入程序的地址空间后全部清零。包含数据段和BSS段的整个区段此时通常称为数据区。


.c -> .o  目标文件一般很大,.a文件是目标文件的ar集合
而elf, bin, axf可以只link用到的code


gcc---objsize .o
   text   data    bss    dec    hex filename
   4576      9   2081   66
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值