编译原理

来源:互联网 发布:澳洲学生签证diy 知乎 编辑:程序博客网 时间:2024/03/29 01:40

预处理-pre-processor:将原先的.c文件里的宏定义展开,包含的头文件包含进来,即处理#。处理完后还是文本文件。

编译-compiler:将.c的代码变成.s的汇编语言,还是文本文件。

汇编-assembler:将汇编代码变成二进制文件,即可重定位目标文件

链接-Linker:将各个目标文件链接在一起,形成一个可执行文件。

 

最后编译出来的代码运行的内存地址是确定的,因为对于内存的取指的地址是固定的。

目标文件即.O文件包括了许多数据块,其中有代码段、数据段、指导链接的结构体。即ELF文件。