gcc
gcc/cc
gcc编译器如今是GNU Compiler Collection的缩写,但早期是GNU C Compiler的缩写,是现在Linux发行版的默认编译器,gcc里面集成了编译器,汇编器,链接器,使用gcc可以实现对编译过程的完全控制,gcc可以在多种环境下编译C,C++,Object-C,但由于C++和Object-C都有自己专属的编译器,所以这里仅介绍常用的、C语言的功能
$gcc [-ESxcloIgO] [-std=] [-Wall] [-Werror] [source.c]
常用选项
-E
实现对source.c的预处理,默认生成source.i文件
-S
实现对source.i的编译,默认生成source.s
-c
实现对source.s的汇编,默认生成source.o
-l
实现对source.o和库文件的静态链接(编译时链接的是静态链接,静态库或共享库都可以被静态链接),eg:-ldl就是链接libdl库,-lstdc++就是链接C++库
-o
指定输出文件的文件名
-I
指定头文件的路径
-g
用于生成调试信息,需要使用gdb调试器的话需要这个选项
-O
用于进行优化处理
-std=
指定使用C语言的标准,-std=c99
即为指定使用C99的标准来编译,缺省使用C89
-Wall
将尽可能显示所有的警告信息
-Werror
将把警告当作错误处理
-x
指定源代码的编程语言,-xc++用来编译C++程序