ELF(Executable Linkable Format)是Linux系统下的一种可执行可链接文件的格式,是COFF格式的变种。在Linux系统中包括了可重定位文件(.o文件),可执行文件(/bin/bash文件),共享目标文件(.so)和核心转储文件(core dump)。
ELF文件头(ELF Header):位于ELF文件的头部,包含了描述整个文件的基本属性。
代码段(.text):用于存放程序代码,只读属性
数据段(.text):用于存放程序中经初始化的全局变量和静态局部变量,读写属性
bss段(.bss):用于存放程序中未经初始化的全局变量和静态局部变量。在目标文件中,这个段并不占据实际空间,它仅仅只是一个占位符。
为了更好的探究bss段的一些细节,我们来看以下的一段代码(SimpleTest.c)
ELF文件头(ELF Header):位于ELF文件的头部,包含了描述整个文件的基本属性。
代码段(.text):用于存放程序代码,只读属性
数据段(.text):用于存放程序中经初始化的全局变量和静态局部变量,读写属性
bss段(.bss):用于存放程序中未经初始化的全局变量和静态局部变量。在目标文件中,这个段并不占据实际空间,它仅仅只是一个占位符。
为了更好的探究bss段的一些细节,我们来看以下的一段代码(SimpleTest.c)