常规 IBM 扩展
缺省情况下,在所有扩展语言级别都启用了以下功能:
| 语言功能 | 讨论内容: |
|---|---|
typedef 定义中允许的类型 |
typedef 定义 |
缺省情况下,将在所有语言级别禁用以下功能。 也可以通过单个选项来启用或禁用此选项。
| 语言功能 | 讨论内容: | 单个选项控件 |
|---|---|---|
| 与用户定义类型的 rvalue 绑定的非 const 或 volatile lvalue 引用 | 引用初始化(仅限 C++) | -qlanglvl=[no]compatrvaluebinding |
| #endif 或 #else 之后的额外文本 | #endif 和 #else 扩展(IBM 扩展) | -qlanglvl=[no]textafterendif |
使用 -qlanglvl=compat366 | extended 选项启用以下功能。 它也可以由下表中列出的特定编译器选项启用或禁用:
| 语言功能 | 讨论内容: | 单个选项控件 |
|---|---|---|
Non-C99 IBM long long 扩展 |
在 pre-C99 和 pre-C++11 方式下支持的整数字面值类型 |
使用 -qlanglvl=extended0x 选项启用以下功能。 它也可以由下表中列出的特定编译器选项启用或禁用:
| 语言功能 | 讨论内容: | 单个选项控件 |
|---|---|---|
具有关联 IBM 扩展的 C99 long long 功能部件 |
C99 和 C++11中整数文字的类型 | ![]() |

