gcc
gcc编译源文件一步到位的命令就是
$ gcc demo.c -o demo
实际上这一步包含了四步:
1.预处理
$ gcc -E demo.c demo.i
预处理功能主要包括宏定义,文件包含,条件编译三部分。分别对应宏定义命令,文件包含命令,条件编译命令三部分实现。预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行响应的转换。预处理过程还会删除程序中的注释和多余的空白字符。
预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。
2.编译(编译为汇编代码)
$ gcc -S demo.i -o demo.s
3.汇编
$ gcc -c demo.s -o demo.o
gas汇编器将汇编代码编译为目标文件
4.链接
$ gcc demo.o demo
gcc连接器是gas提供的,负责将程序的目标文件与所需的所有附加的目标文件连接起来,最终生成可执行文件。附加的目标文件包括静态连接库和动态连接库
多文件编译:
$ gcc demo1.c demo2.c -o demo