常规 IBM 扩展

缺省情况下,在所有扩展语言级别都启用了以下功能:
表 1. 常规 IBM 扩展
语言功能 讨论内容:
typedef 定义中允许的类型 typedef 定义
缺省情况下,将在所有语言级别禁用以下功能。 也可以通过单个选项来启用或禁用此选项。
表 2。 具有个别选项控件的常规 IBM 扩展
语言功能 讨论内容: 单个选项控件
与用户定义类型的 rvalue 绑定的非 const 或 volatile lvalue 引用 引用初始化(仅限 C++) -qlanglvl=[no]compatrvaluebinding
#endif 或 #else 之后的额外文本 #endif 和 #else 扩展(IBM 扩展) -qlanglvl=[no]textafterendif

使用 -qlanglvl=compat366 | extended 选项启用以下功能。 它也可以由下表中列出的特定编译器选项启用或禁用:

表 3。 具有个别选项控件的常规 IBM 扩展
语言功能 讨论内容: 单个选项控件
Non-C99 IBM long long 扩展 在 pre-C99 和 pre-C++11 方式下支持的整数字面值类型

-q[no]longlong

使用 -qlanglvl=extended0x 选项启用以下功能。 它也可以由下表中列出的特定编译器选项启用或禁用:
表 4。 具有个别选项控件的常规 IBM 扩展
语言功能 讨论内容: 单个选项控件
具有关联 IBM 扩展的 C99 long long 功能部件 C99 和 C++11中整数文字的类型
C++11