GNU C Compiler 即大名鼎鼎的gcc :将高级语言编译成二进制可执行代码的工具链,目前不仅支持C 还支持C++ 、Ada、Java、Objective C、Pascal、以及一些函数式编程、逻辑编程语言等,很好很强大,对于程序猿必须要了解啊 !
与基本的编译器相同,主要包括四个步骤:
(1)预编译 Preprocessing
gcc -E test.c -o test.i
预编译主要完成去掉注释(/**/)、宏定义的替换(#define),头文件包含),生成文件格式为 i ,gcc 的 -E选项可以使编译过程停留在预编译之后,并输出预编译结果。
(2)编译 processing
gcc -S test.c -o test.s
不同CPU平台使用的汇编语言是不同的,这个阶段主要完成高级语言编译成对应的汇编语言。使用-S选项可以使编译过程停留在编译阶段之后,-o 输出生存文件为.s。
(3)汇编 Assembly
gcc -c test.c -o test.o
汇编阶段gcc将汇编语言翻译成二进制机器目标代码。
(4)链接Linking
gcc -o test test.c
该阶段是将程序最终要生成的目标文件附加的所有目标文件链接起来,包含各函数库的入