Gcc 编译过程
从 hello.c 到 hello(或 a.out)文件, 必须历经 hello.i、 hello.s、 hello.o,最后才得到 hello(或
a.out)文件,分别对应着预处理、编译、汇编和链接 4 个步骤,如下图。
这 4 步大致的工作内容如下:
(1) 预处理, C 编译器对各种预处理命令进行处理,包括头文件包含、宏定义的扩
展、条件编译的选择等;Gcc 参数为: -E (注意大写)
(2) 编译,将预处理得到的源代码文件,进行“翻译转换”,产生出机器语言的目标
程序,得到机器语言的汇编文件;Gcc 参数为: -S (注意大写)
(3) 汇编,将汇编代码翻译成了机器码,但是还不可以运行;Gcc 参数为: -c
(4) 链接,处理可重定位文件,把各种符号引用和符号定义转换成为可执行文件中
的合适信息,通常是虚拟地址; 链接默认输出为: a.out 可以使用 Gcc 参数 -o 指定输出二进制文件名。
Gcc 帮助信息中:
网友评论