arm-linux-gcc

来源:互联网 发布:西班牙海鲜饭 知乎 编辑:程序博客网 时间:2024/05/29 16:08

一个C/C++文件需要经过预处理、编译、汇编和连接这个四个过程才能变成可执行文件。

预处理

C/C++源文件中,以“#”开头的命令被称为预处理命令。如包含命令“#include”、宏定义命令”#define”、条件编译命令”#if”、”ifdef”等。预处理就是将要包含(include)的文件插入原文件中、 将宏定义展开、根据条件编译命令选择要使用的代码,最后将这些代码输出到个“.i” 文件中等待进一步处理。 预处理将用到 arm-linux-cpp 工具。

编译

编译就是把 C/C++代码(比如上述的“.i” 文件)“ 翻译”成汇编代码,所用到的工具为ccl。

汇编

汇编就是将第二步输出的汇编代码翻译成符合一定格式的机器代码,在 Linux 系统上一般表现为 ELF目标文件 (OBJ文件),用到的工具为 arm-linux-as。“反汇编” 是指将机器代
码转换为汇编代码,这在调试程序时常常用到。

连接

连接就是将上步生成的 OBJ 文件和系统库的 OBJ 文件、库文件连接起来,最终生成可以在特定平台运行的可执行文件, 用到的工具为arm-linux-ld。
编译器利用这 4 个步骤中的一个或多个来处理输入文件,源文件的后缀名表示源文件所用的语言,后缀名控制着编译器的默认动作。
这里写图片描述

原创粉丝点击