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++程序

原文地址:https://www.cnblogs.com/xiaojiang1025/p/5871245.html