目标文件格式
程序从源码编译为目标代码的时候,这个目标文件的格式是怎么样的?
ELF目标文件有代码段,数据段和BSS段。
ELF目标文件的头文件,段表,重定位表,字符串表,符号表,调试表。
无论是可执行文件,目标文件或库,它们实际上都是一样基于段的文件或是基于这种文件的集合。
程序的源代码经过编译后,按照代码和数据分别存放到相应的段中。编译器(汇编器)还会将一些辅助性的信息,诸如符号,重定位信息等也按照表的方式存放的目标文件中,而通常情况下,一个表往往就是一个段。
静态链接的目的是将目标文件组合起来形成一个程序或更大的模块。