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

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

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

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

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

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

size命令:

ELF文件格式以及交叉编译工具链常用工具_第1张图片

 ELF文件格式以及交叉编译工具链常用工具_第2张图片

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

ELF文件格式以及交叉编译工具链常用工具_第3张图片

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

ELF文件格式以及交叉编译工具链常用工具_第4张图片

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

ELF文件格式以及交叉编译工具链常用工具_第5张图片

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

你可能感兴趣的:(Linux学习笔记,操作系统,linux,学习,笔记,ubuntu)