gcc的简介
GCC(GNU Compiler Collection)是由GNU项目开发和维护的一套开源编程语言编译器集合。它支持多种编程语言,包括但不限于C、C++、Objective-C、Fortran、Ada等。GCC被广泛应用于编译和优化各种程序,是许多开发者和组织的首选工具之一。gcc默认编译C语言。
gcc编译C语言过程
过程简介:预处理、编译、汇编、链接四个过程,由.c文件形成中间文件:.i、.s、.o文件,最终形成可执行文件。
预处理:将.c中的头文件展开、宏展开、条件编译、注释删除,生成的文件是.i文件,注意预处理过程不会对文件代码做任何语法检查。
gcc -E hello.c -o hello.i \\-E选项指定gcc只做预处理过程
编译:将预处理后的.i文件生成.s汇编文件,注意编译过程会对代码进行语法检查。
gcc -S hello.i -o hello.s //-S选项指定gcc只做编译过程
汇编:将编译产生的汇编文件处理生成.o目标文件,也就是汇编语言转换为二进制语言
gcc -c hello.s -o hello.o //-c选项指定gcc将汇编文件转换为目标文件
链接:将.o文件链接成目标文件,多个.c源文件经过四个步骤最终形成了我们想要的目标文件,也就是最终的可执行文件。
gcc hello.o -o hello \\通过gcc将多个*.o链接成一个可执行文件