ELF文件格式以及交叉编译工具链常用工具

本文解释了Windows下的.exe文件结构,包括.data和.bss段用于存储变量,.text段存放代码,以及局部变量的栈空间。讨论了bin和elf文件格式差异,函数名在编译后的符号表位置,以及strip和objcopy在文件瘦身和转换中的作用。
摘要由CSDN通过智能技术生成

windows下的可执行文件是.exe文件. 

.data段放置的是初始化的全局变量和初始化的静态局部变量;

.bss段放置的是未初始化的全局变量和未初始化的静态局部变量;因为未初始化的变量会放在.bss段中统一置0.

.text段放语句,比如a++;

局部变量则是在程序运行时加载在栈空间,编译时不会分配空间

size命令:

 

bin文件就是二进制文件,同一个c语言文件编译成elf格式和bin格式,而elf格式比较大,是因为bin格式里面只有elf的代码段和数据段。

函数名表示函数的起始地址,编译后放在了.symtab段,即符号表。

strip可以对可执行文件进行瘦身。 可以通过file命令知道一个文件是否瘦身。

objcopy是将elf文件转换为裸机运行的bin文件。

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值