GCC中文手册 - C与C++编译器指南

需积分: 24 0 下载量 155 浏览量 更新于2024-07-25 收藏 141KB PDF 举报
"GCC中文手册" GCC(GNU Compiler Collection)是GNU项目的一部分,它是一个开源的编译器套件,用于多种编程语言,包括C、C++、Objective-C、Fortran、Ada和Go等。GCC不仅提供了编译器,还包括了预处理器、汇编器和链接器,能够将源代码转换为可执行程序。本手册主要针对GCC的C和C++编译器部分,egcs-1.1.2是一个特定版本的GCC。 **总览(SYNOPSIS)** GCC的使用通常涉及在命令行中输入`gcc`或`g++`,后面跟着一系列选项和文件名。选项可以改变编译器的行为,而文件名则是需要处理的源代码文件。例如,`gcc -o output main.c`会编译`main.c`并生成名为`output`的可执行文件。 **警告(WARNING)** 手册页的内容可能不是最新的,因为它不被定期更新。如果需要最准确的信息,应参考Info文件或相关的使用和移植GNU CC的手册。Info文件是GCC的权威文档来源。 **描述(DESCRIPTION)** GCC处理源文件的四个步骤是: 1. **预处理(Preprocessing)**:处理宏定义、条件编译指令,并生成.i或.ii文件。 2. **编译(Compilation)**:将预处理后的文件转换成汇编代码。 3. **汇编(Assembly)**:将汇编代码转换成目标代码(.o文件)。 4. **链接(Linking)**:将多个目标代码文件和库合并成一个可执行文件。 GCC和G++根据源文件的后缀名来决定处理方式和默认的链接模式。例如,`.c`文件被视为C语言源代码,`.cpp`、`.cc`和`.cxx`文件则被视为C++源代码。预处理后的文件如`.i`和`.ii`,分别对应C和C++,会按照相应的语言进行后续处理。 **源文件后缀名的意义**: - `.c`:C语言源代码 - `.CC`, `.cc`, `.cxx`:C++源代码 - `.m`:Objective-C源代码 - `.i`:预处理后的C文件 - `.ii`:预处理后的C++文件 - `.s`:汇编语言源程序 - `.S`:包含预处理指令的汇编语言源程序 - `.h`:预处理器头文件,通常不直接在命令行中指定 GCC和G++可以根据不同的后缀名自动执行相应的处理步骤,但也可以通过选项手动指定这些步骤,比如`-E`仅执行预处理,`-S`仅到汇编阶段,`-c`则只编译到目标代码阶段,不进行链接。 GCC还支持许多选项来控制优化级别、错误和警告的显示、包含的库等,这些选项在实际开发中非常有用,例如`-Wall`显示所有警告,`-O2`启用二级优化等。 GCC中文手册是学习和使用GCC的重要参考资料,它提供了关于编译、链接过程以及各种选项的详细信息,对于开发者来说是不可或缺的工具。