GC++(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。它是一套&">nbsp; GNU编译器套装以 GPL 及 LGPL 许可证所发行的自由软件,也是 GNU计划的关键部分,亦是自由的类Unix及苹果电脑 Mac OS X 操作系统的标准编译器。
GCC 原名为 GNU C 语言编译器,因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。之后也变得可处理 Fortran、Pascal、Objective-C、Java, 以及 Ada与其他语言。
下面是gcc常用编译选项的说明:
-c选项:
把源程序编译为目标代码而不做链接工作,所以采用该选项的编译指令不会生成最终的可
执行程序,而是生成一个与源程序文件名相同的以.o为后缀的目标文件。
例:# gcc -c test.c
上述命令只生成test.o文件。
-S选项:
使用该选项只生成一个后缀名为.s的汇编语言文件。
-e选项:
只对进行预处理。
-v选项:
显示gcc版本。
例:# gcc -v
-x 选项:
指定编译语言。
例:# gcc -x c++ test.c
表示采用c++编译器来编译test.c程序。
-I 选项:
指定库及头文件路径。
一般情况下,Linux下的大多数函数都将头文件放到系统/usr/include目录下,而库文件
则放到/usr/lib目录下。但在有些情况下并不是这样的,在这些情况下,使用GCC编译时
必须指定所需要的头文件和库文件所在的路径。
例:# gcc -I /home/include -o test test.c
指定头文件路径是/home/include。
-L 选项:
指定所依赖库所在路径。
-static 选项:
强制程序连接静态库。
-o 选项:
指定生成的可执行程序的文件名。
例:# gcc -o test test.c
指定编译test.c文件,并生成可执行文件test。
-w 选项:
禁止输出警告信息。
-Werror 选项:
将所有警告转换为错误。
-Wall 选项:
显示所有的警告信息。
-O选项:
编译时使用选项-O可以告诉GCC同时减小代码的长度和执行时间,其效果等价于-O1。
-O2选项:
选项-O2告诉GCC除了完成所有-O1级别的优化之外,同时还要进行一些额外的调整工作,
如处理器指令调度。
-g选项:
生成调试信息。
-pg选项:
编译完成后,额外产生一个性能分析所需信息。