c++ 预处理器,编译器,汇编器,链接器详解

1.预处理器

c++的预处理器是词法预处理器,主要是进行文本替换,宏展开,删除注释这类简单工作。

gcc -E 选项可以得到预处理后的结果,扩展名为 .i; c++预处理不做任何语法检查,语法检查

是编译器要做的事情,预处理之后仅仅是得到了真正的源代码

2.编译器

将文本文件.i翻译成文本文件.s 得到汇编语言程序,改种语言程序中的每条语句都以一种

标准的文本格式确切的描述了一条低级机器语言指令;gcc -s 选项可以得到编译后的汇编码

扩展名为.s;

3.汇编器

将.s翻译成机器语言指令,放入.o文件中 gcc -c选项可以得到.o文件;.o文件是一个二进制

文件,是字节编码而不是字符;

4.链接器

将.o文件及需要用到的库 .a或.so 打包成可执行文件。

===========华丽的分割线=========

一份源文件经过 词法分析;语法分析;语义检查中间代码生成;代码优化;目标代码生成;最终得到

可执行文件。


c++ 预处理器,编译器,汇编器,链接器详解


分享到:


相關文章: