GNU C 兼容性扩展
缺省情况下,在所有语言级别都启用了以下功能:
| 语言功能 | 讨论内容: |
|---|---|
#include_next preprocessor directive(预处理器伪指令) |
#include_next 伪指令(IBM 扩展) |
缺省情况下,使用以下任何命令进行编译时,将启用以下功能:
- xlc 调用命令
- -qlanglvl=extc99 | extc89 | extc1x 选项
缺省情况下,使用以下任何命令进行编译时,将启用以下功能:
- xlc 调用命令
- -qlanglvl=extc99 | extc89 | extc1x 选项
| 语言功能 | 讨论内容: | 单个选项控件 |
|---|---|---|
asm和 __asm 关键字 |
组合件标签 (IBM 扩展), 内联组合件语句 (IBM 扩展), 语言扩展的关键字 (IBM 扩展) | -q[no]keyword=asm, -qasm |
asm 内联组合件语言语句 |
内联汇编语句(IBM 扩展) | -qasm |
typeof 关键字 |
类型运算符 (IBM 扩展), 语言扩展的关键字 (IBM 扩展) | -q[no]keyword=typeof |
typeof operator(运算符) |
typeof 运算符(IBM 扩展) | -q[no]keyword=typeof |
| 可视性函数属性 | visibility(IBM 扩展) | -fvisibility (-qvisibility) |
| 可视性变量属性 | 可视性变量属性(IBM 扩展) | -fvisibility (-qvisibility) |
注: 如果变量和函数未从 pragma 伪指令,显式指定的属性或传播规则中获取可视性属性,那么可以使用 -qvisibility 选项来指定这些变量和函数的可视性属性。 此选项不能用于禁用变量或函数的可视性属性。
|
||
以下功能需要使用其他选项进行编译:
| 语言功能 | 讨论内容: | 必需的编译选项 |
|---|---|---|
__thread 存储类说明符 (storage class specifier) |
__thread 存储类说明符(IBM 扩展) | -qtls |
| 标识中的美元符号 | 标识中的字符 | -qdollar |