gcc编译器

gcc编译器

gcc编译器

gcc是Linux系统下的C/C++编译器,具有非常强大的功能。一般Linux平台开发的C语言程序,都会通过gcc来编译成可执行文件。

gcc的全称是GNU Compiler Collection,顾名思义,它是一个编译器的集合。经过多年的发展,gcc不仅仅支持C/C++,还支持Ada、Java、Objective C、Pascal、COBOL等语言。gcc还基本支持所有的硬件平台。

gcc在编译一个程序是,会经过预处理、编译、汇编和连接等几个过程。我们使用gcc编译时,这几个过程都是自动完成的,我们也可以通过修改设置来详细控制每个步骤。

我们知道,在linux中文件的后缀名不重要。但是,gcc对文件的后缀有特殊的识别要求,你给它一个“.c”后缀的文件,它才能把它当成C语言的源文件来编译。下面是一些文件后缀:

.c,C语言源文件

.C或.cc或.cpp,C++的源文件

.h,头文件

.i,中间代码文件

.o,目标文件

.s,汇编语言源代码文件

.S,经过预编译后的汇编语言源代码文件

gcc编译源文件的命令是:

gcc source.c

默认情况下,它会在source.c的当前目录下生成一个a.out,它就是最终的可执行文件!这个名字有点难以接受啊!加一个参数:

gcc -o program source.c

这个命令将生成一个名为program的可执行文件,而不会再是a.out了。当然,可以在program前面加以个路径,这样可以把可执行文件生成到你想要的位置。

如果我们想要查看编译的过程,可以使用-v参数。

例如:gcc -v -o program source.c

如果源代码文件不能识别,需要用-x参数来手工指定源代码类型。

例如:gcc -x 'c' -o program source.xx