PC上的编译工具链为gcc、ld、objcopy、objdump等,他们编译出来的程序在x86平台上运行。要编译出能在ARM平台上运行的程序,必须使用交叉编译工具arm-linux-gcc、arm-linux-ld等。
一个C/C++程序要经过预处理、编译、汇编、和连接四个步骤。
预处理:以#开头的命令被称为预处理命令,比如#include #if #ifdef等。经过预处理输出一个.i文件。
编译:将.i文件翻译成汇编代码,所用到的工位为ccl。
汇编:将汇编代码翻译成符合一定格式的机器码,在Linux系统上一般表现为ELF文件(OBJ文件),用到的工位为arm-linux-ad。反汇编是将机器代码转换为汇编代码,这在调试程序中常常用到。
连接:将上步生成的OBJ代码和系统库的OBJ文件、库文件连接起来,最终生成可以在特定平台上运行的可执行文件,用到的工具为arm-linux-ld。
连接器连接的文件包含以下两种:
.o:1、目标文件(Object file OBJ文件)
.a: 2、归档库文件(Archive file)
嵌入式交叉编译工具选项说明
最新推荐文章于 2022-10-26 16:49:05 发布