GCC中文手册:C与C++编译解析
"GCC中文手册提供了关于GNU C编译器和C++编译器的使用信息,强调了Info文件作为最新和最权威的文档来源。手册页内容可能不全且不再更新,推荐查阅Info文件`gcc`或相关使用和移植指南。手册中解释了GCC处理源文件的四个步骤:预处理、编译、汇编和链接,并根据源文件后缀名决定处理方式。不同后缀的文件对应不同的处理流程,如`.c`和`.cpp`文件分别代表C和C++源代码,而`.o`和`.a`文件则用于链接阶段。GCC和G++根据后缀名设定不同的编译和链接设置。" GCC(GNU Compiler Collection)是GNU项目的一部分,包含了用于多种编程语言的编译器,如C、C++、Objective-C等。手册中的“总览”部分提到了gcc和g++命令的使用,它们分别处理C和C++源代码。GCC的处理过程包括四个阶段: 1. **预处理**(Preprocessing):处理宏定义、条件编译指令(#if, #else, #endif等),并扩展#include指令,生成.i或.ii文件。 2. **编译**(Compilation):将预处理后的源码转换成汇编代码,生成.s或.S文件。 3. **汇编**(Assembly):将汇编代码转化为机器语言的二进制形式,即目标文件(.o)。 4. **链接**(Linking):将多个目标文件、库文件及其他资源组合成可执行文件。如果没有特别指定,GCC默认会执行全部四个步骤。 手册指出,GCC会根据源文件的后缀自动选择处理方式。例如,`.c`文件会被视为C语言源代码,`.cpp`、`.cc`或`.cxx`文件则被视为C++源代码。`.m`文件用于Objective-C,`.s`和`.S`文件则是汇编语言源码。预处理后的文件,如`.i`和`.ii`,会跳过预处理步骤直接进行编译和汇编。 在链接阶段,除了源代码对应的`.o`目标文件,还可以指定`.a`档案库文件来包含多个对象文件。此外,如果使用了特定选项(如 `-c`、`-S` 或 `-E`),GCC将只执行预处理、编译或汇编,而不进行链接。如果出现编译错误,链接也会被跳过。 手册还提醒用户,为了获取最准确和最新的文档,应参考Info文件,因为man手册页可能过时且不更新。`gcc`和`Using and Porting GNU CC`(对于特定版本,如2.0)是获取详细信息的权威来源。GNU项目倾向于Info文件,认为man手册页是过时的格式。因此,对于深入学习和理解GCC,查阅Info文件是最佳选择。
![](https://csdnimg.cn/release/download_crawler_static/11154187/bg8.jpg)
![](https://csdnimg.cn/release/download_crawler_static/11154187/bg9.jpg)
剩余40页未读,继续阅读
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/a5d1629d3cbb4e6ea3ff80bb3927fac8_gengkui9897.jpg!1)
- 粉丝: 3918
- 资源: 555
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 中国微型数字传声器:技术革新与市场前景
- 智能安防:基于Hi3515的嵌入式云台控制系统设计
- 手机电量低时辐射真增千倍?解析手机使用谣言
- 56F803型DSP驱动的高精度大功率超声波电源控制策略研究
- ARM与GPRS结合的远程监测系统设计
- GPS与RFID技术结合的智能巡检系统设计
- CPLD驱动的低功耗爆炸场温度测试系统设计
- 基于FPGA的智能驱动控制系统:可扩展设计与工业网络协议
- 基于ATmega128和CH374的嵌入式USB接口设计
- 基于AT89C52的温度补偿超声波测距仪:高精度设计与应用
- MSP430F448单片机在交流数字电压表中的应用
- 提升变频器应用效率的12项实用技巧
- STM32F103在数字电镀电源并联均流系统中的应用
- PSpice仿真下的升压开关电源设计:拓扑分析与CCM稳定性提升
- 轻巧高效:MSP430主导的低成本无线传感器网络节点设计
- FPGA在EDA/PLD中实现LVDS接口的应用解析
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)