使用GNU编译器集合(GCC)
简短目录
- 1 GCC支持的编程语言
- GCC支持的2种语言标准
- 3 GCC命令选项
- 4 C实现定义的行为
- 5 C ++实现定义的行为
- 6 C语言家族的扩展
- 7 C ++语言的扩展
- 8 GNU Objective-C功能
- 9二进制兼容性
- 10
gcov
-a测试覆盖计划 - 11-
gcov-tool
离线Gcda配置文件处理工具 - 12
gcov-dump
-an离线Gcda和Gcno配置文件转储工具 - 13 GCC故障的已知原因
- 14报告错误
- 15如何获得GCC帮助
- 16为GCC发展做出贡献
- 资助自由软件
- GNU项目和GNU / Linux
- GNU通用公共许可证
- GNU自由文档许可证
- 海湾合作委员会的贡献者
- 期权指数
- 关键字索引
目录
- 1 GCC支持的编程语言
- GCC支持的2种语言标准
- 3 GCC命令选项
- 3.1选项摘要
- 3.2控制输出类型的选项
- 3.3编译C ++程序
- 3.4控制C语言的选项
- 3.5控制C ++方言的选项
- 3.6选项控制Objective-C和Objective-C ++方言
- 3.7控制诊断消息格式的选项
- 3.8请求或抑制警告的选项
- 3.9调试程序的选项
- 3.10控制优化的选项
- 3.11程序仪表选项
- 3.12选项控制预处理器
- 3.13将选项传递给汇编程序
- 3.14链接选项
- 3.15目录搜索选项
- 3.16代码生成约定的选项
- 3.17 GCC开发人员选项
- 3.18机器相关选项
- 3.18.1 AArch64选项
- 3.18.2 Adapteva Epiphany选项
- 3.18.3 AMD GCN选项
- 3.18.4 ARC选项
- 3.18.5 ARM选项
- 3.18.6 AVR选项
- 3.18.7 Blackfin选项
- 3.18.8 C6X选项
- 3.18.9 CRIS选项
- 3.18.10 CR16选项
- 3.18.11 C-SKY选项
- 3.18.12达尔文选项
- 3.18.13 DEC Alpha选项
- 3.18.14 FR30选项
- 3.18.15 FT32选项
- 3.18.16 FRV选项
- 3.18.17 GNU / Linux选项
- 3.18.18 H8 / 300选项
- 3.18.19 HPPA选项
- 3.18.20 IA-64选项
- 3.18.21 LM32选项
- 3.18.22 M32C选项
- 3.18.23 M32R / D选项
- 3.18.24 M680x0选项
- 3.18.25 MCore选项
- 3.18.26 MeP选项
- 3.18.27 MicroBlaze选项
- 3.18.28 MIPS选项
- 3.18.29 MMIX选项
- 3.18.30 MN10300选项
- 3.18.31 Moxie选项
- 3.18.32 MSP430选项
- 3.18.33 NDS32选项
- 3.18.34 Nios II选项
- 3.18.35 Nvidia PTX选项
- 3.18.36 OpenRISC选项
- 3.18.37 PDP-11选项
- 3.18.38 picoChip选项
- 3.18.39 PowerPC选项
- 3.18.40 RISC-V选项
- 3.18.41 RL78选项
- 3.18.42 IBM RS / 6000和PowerPC选项
- 3.18.43 RX选项
- 3.18.44 S / 390和zSeries选项
- 3.18.45分数选项
- 3.18.46 SH选项
- 3.18.47 Solaris 2选项
- 3.18.48 SPARC选项
- 3.18.49 SPU选项
- 3.18.50系统V的选项
- 3.18.51 TILE-Gx选项
- 3.18.52 TILEPro选项
- 3.18.53 V850选项
- 3.18.54 VAX选项
- 3.18.55 Visium选项
- 3.18.56 VMS选项
- 3.18.57 VxWorks选项
- 3.18.58 x86选项
- 3.18.59 x86 Windows选项
- 3.18.60 Xstormy16选项
- 3.18.61 Xtensa选项
- 3.18.62 zSeries选项
- 3.19指定子进程和要传递给它们的开关
- 3.20影响海湾合作委员会的环境变量
- 3.21使用预编译头
- 4 C实现定义的行为
- 5 C ++实现定义的行为
- 6 C语言家族的扩展
- 6.1表达式中的陈述和声明
- 6.2本地声明的标签
- 6.3标签作为价值观
- 6.4嵌套函数
- 6.5非本地人
- 6.6构造函数调用
- 6.7参考带有的类型
typeof
- 6.8省略操作数的条件
- 6.9 128位整数
- 6.10双字整数
- 6.11复数
- 6.12附加浮动类型
- 6.13半精度浮点
- 6.14十进制浮点类型
- 6.15六角浮子
- 6.16定点类型
- 6.17命名地址空间
- 6.18长度零的数组
- 6.19没有成员的结构
- 6.20可变长度阵列
- 6.21具有可变参数数量的宏。
- 6.22逃逸新线的略宽松规则
- 6.23非左值数组可能有下标
- 6.24算术开
void
- 和功能指针 - 6.25变量函数中的指针参数
- 6.26带有限定符的数组指针按预期工作
- 6.27非常数初始化器
- 6.28复合文字
- 6.29指定的初始化器
- 6.30案例范围
- 6.31转换为联盟类型
- 6.32混合声明和代码
- 6.33声明函数的属性
- 6.33.1通用功能属性
- 6.33.2 AArch64函数属性
- 6.33.3 AMD GCN功能属性
- 6.33.4 ARC函数属性
- 6.33.5 ARM函数属性
- 6.33.6 AVR功能属性
- 6.33.7 Blackfin函数属性
- 6.33.8 CR16功能属性
- 6.33.9 C-SKY函数属性
- 6.33.10顿悟函数属性
- 6.33.11 H8 / 300函数属性
- 6.33.12 IA-64功能属性
- 6.33.13 M32C功能属性
- 6.33.14 M32R / D功能属性
- 6.33.15 m68k功能属性
- 6.33.16 MCORE功能属性
- 6.33.17 MeP功能属性
- 6.33.18 MicroBlaze函数属性
- 6.33.19 Microsoft Windows功能属性
- 6.33.20 MIPS函数属性
- 6.33.21 MSP430功能属性
- 6.33.22 NDS32功能属性
- 6.33.23 Nios II功能属性
- 6.33.24 Nvidia PTX功能属性
- 6.33.25 PowerPC功能属性
- 6.33.26 RISC-V功能属性
- 6.33.27 RL78功能属性
- 6.33.28 RX功能属性
- 6.33.29 S / 390功能属性
- 6.33.30 SH函数属性
- 6.33.31 SPU功能属性
- 6.33.32 Symbian OS功能属性
- 6.33.33 V850功能属性
- 6.33.34 Visium函数属性
- 6.33.35 x86函数属性
- 6.33.36 Xstormy16函数属性
- 6.34指定变量的属性
- 6.35指定类型的属性
- 6.36标签属性
- 6.37枚举器属性
- 6.38语句属性
- 6.39属性语法
- 6.40原型和旧式函数定义
- 6.41 C ++样式注释
- 6.42美元标识符名称
- 6.43 常量字符ESC
- 6.44确定函数,类型或变量的对齐方式
- 6.45内联函数与宏一样快
- 6.46何时访问易失性对象?
- 6.47如何在C代码中使用内联汇编语言
- 6.48备用关键字
- 6.49不完整的
enum
类型 - 6.50函数名称为字符串
- 6.51获取函数的返回或帧地址
- 6.52通过内置函数使用向量指令
- 6.53支持
offsetof
- 6.54
__sync
用于原子存储器访问的传统内置函数 - 6.55用于内存模型感知原子操作的内置函数
- 6.56使用溢出检查执行算术的内置函数
- 6.57 x86特定内存模型扩展的事务性内存
- 6.58对象大小检查内置函数
- 6.59 GCC提供的其他内置功能
- 6.60特定目标机器专用的内置功能
- 6.60.1 AArch64内置函数
- 6.60.2 Alpha内置函数
- 6.60.3 Altera Nios II内置函数
- 6.60.4 ARC内置函数
- 6.60.5 ARC SIMD内置函数
- 6.60.6 ARM iWMMXt内置函数
- 6.60.7 ARM C语言扩展(ACLE)
- 6.60.8 ARM浮点状态和控制内在函数
- 6.60.9 ARM ARMv8-M安全扩展
- 6.60.10 AVR内置功能
- 6.60.11 Blackfin内置函数
- 6.60.12 FR-V内置功能
- 6.60.13 MIPS DSP内置函数
- 6.60.14 MIPS配对单支持
- 6.60.15 MIPS龙芯内置功能
- 6.60.16 MIPS SIMD架构(MSA)支持
- 6.60.17其他MIPS内置函数
- 6.60.18 MSP430内置函数
- 6.60.19 NDS32内置函数
- 6.60.20 picoChip内置功能
- 6.60.21基本PowerPC内置函数
- 6.60.22 PowerPC AltiVec / VSX内置函数
- 6.60.23 PowerPC硬件事务内存内置函数
- 6.60.24 PowerPC原子存储器操作功能
- 6.60.25 RX内置功能
- 6.60.26 S / 390 System z内置功能
- 6.60.27 SH内置函数
- 6.60.28 SPARC VIS内置函数
- 6.60.29 SPU内置功能
- 6.60.30 TI C6X内置功能
- 6.60.31 TILE-Gx内置函数
- 6.60.32 TILEPro内置函数
- 6.60.33 x86内置函数
- 6.60.34 x86事务性内存内在函数
- 6.60.35 x86控制流保护内在函数
- 6.61特定目标机器特有的格式检查
- 6.62海湾合作委员会接受的语用
- 6.63未命名的结构和联合字段
- 6.64线程局部存储
- 6.65二进制常量使用'0B' 字首
- 7 C ++语言的扩展
- 8 GNU Objective-C功能
- 9二进制兼容性
- 10
gcov
-a测试覆盖计划 - 11-
gcov-tool
离线Gcda配置文件处理工具 - 12
gcov-dump
-an离线Gcda和Gcno配置文件转储工具 - 13 GCC故障的已知原因
- 14报告错误
- 15如何获得GCC帮助
- 16为GCC发展做出贡献
- 资助自由软件
- GNU项目和GNU / Linux
- GNU通用公共许可证
- GNU自由文档许可证
- 海湾合作委员会的贡献者
- 期权指数
- 关键字索引
介绍
本手册介绍了如何使用GNU编译器,以及它们的功能和不兼容性,以及如何报告错误。它对应于编译器(GCC)版本9.0.1。GNU编译器的内部结构,包括如何将它们移植到新目标以及有关如何为新语言编写前端的一些信息,都记录在一个单独的手册中。见介绍在GNU编译器集合(GCC)内幕。
• G ++和GCC: | 您可以编译C或C ++程序。 | |
• 标准: | GCC支持的语言标准。 | |
• 调用GCC: | '支持的命令选项'GCC”。 | |
• C实施: | GCC如何实现ISO C规范。 | |
• C ++实现: | GCC如何实现ISO C ++规范。 | |
• C扩展: | C语言系列的GNU扩展。 | |
• C ++扩展: | C ++语言的GNU扩展。 | |
• Objective-C: | GNU Objective-C运行时功能。 | |
• 兼容性: | 二进制兼容性 | |
• Gcov: | gcov - 测试覆盖计划。 | |
• Gcov工具: | gcov-tool - 离线gcda配置文件处理程序。 | |
• Gcov转储: | gcov-dump - 离线gcda和gcno配置文件转储工具。 | |
• 麻烦: | 如果您在使用GCC时遇到问题。 | |
• 错误: | 如何,为何以及在何处报告错误。 | |
• 服务: | 如何获得GCC的帮助 | |
• 贡献: | 如何为测试和开发GCC做出贡献。 | |
| ||
---|---|---|
• 资金: | 如何帮助确保免费软件的资金。 | |
• GNU项目: | GNU项目和GNU / Linux。 | |
| ||
• 复制: | GNU通用公共许可证说明如何复制和共享GCC。 | |
• GNU自由文档许可证: | 如何复制和分享本手册。 | |
• 贡献者: | 为GCC做出贡献的人。 | |
| ||
• 期权指数: | 命令行选项的索引。 | |
• 关键词索引: | 概念和符号名称的索引。 |