gcc是GNU C Compiler的缩写,由GNU推出的多平台编译器,可以编译C, C++, Object C等代码。gcc对C语言的处理分为四个步骤:
预处理,gcc对C语言源文件包含的头文件和宏定义进行处理,如#define, #include, #if;
编译,gcc检查代码的语法是否有错,并将代码翻译成汇编语言,生成以.s为扩展名的汇编代码文件;
汇编,gcc用编译生成的汇编语言生成目标文件,目标文件以.o为扩展名;
链接,gcc将生成的目标文件链接合成可执行的文件,同时也会把调用的系统函数链接到可执行的文件中。
gcc的使用格式如下:
gcc [选项] 文件
gcc使用实例:
首先用vim新建一个名为hello.c的源文件,并输入如下简单代码:
然后在终端中输入如下命令:
gcc hello.c -o hello
该命令中,hello.c是待编译的文件,-o hello是生成名为hello的可执行文件。执行完该命令后,再执行ls命令可以看到当前目录下有hello文件生成
./hello 表示在当前目录下执行hello文件,该文件的执行结果正是hello.c文件中的代码执行的结果。
现在把hello和hello.c~文件删除,执行如下命令:
gcc hello.c
那么在当前目录下生成的文件为a.out
我们可以看到如果把选项和可执行文件名省略掉,gcc会默认可执行文件名为a.out。./a.out 命令的执行结果和上述./hello命令的执行结果一致。