-qlanglvl (-std)

适用的调用

表 1. 接受给定选项的调用
选项 xlc (编译 C) xlC (编译 C++) xlclang(编译 C) xlclang++(编译 C++)
-qlanglvl
-std    
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表

类别

语言元素控件

用途

确定源代码是否符合特定语言标准或者某项标准的子集或超集。 当源代码包含相应的标准或 IBM® 扩展功能时,相应的选项设置需要生效。

表 2。 针对两个类别的调用的 -qlanglvl-std 语法
xlc/xlC 和其他遗留的调用命令 xlclang/xlclang + + 调用命令
等效编译指示

仅限 C #pragma options langlvl, #pragma langlvl

仅限 C + + 另请参阅 #pragma operator_new

等效编译指示

语法

-qlanglvl 语法 (仅限 C)

读取语法图跳过可视语法图 -q langlvl = :extc99classicextc1xextc89extendedsaasaal2stdc89stdc99feature_suboption

#pragma langlvl 语法 (仅限 C)

读取语法图跳过可视语法图 # pragma langlvl ( extc99classicextc1xextc89extendedsaasaal2stdc89stdc99 )

-qlanglvl 语法 (仅限 C + +)

读取语法图跳过可视语法图 -q langlvl = :extendedcompat366extended0xstrict98feature_suboption
语法

-qlanglvl 语法 (仅限 C)

读取语法图跳过可视语法图 -q langlvl = extc99extc89extc1xstdc89stdc99stdc11

-std 语法 (仅限 C)

读取语法图跳过可视语法图 -std = gnu99c89c90c99c11gnu89gnu90gnu11

-qlanglvl 语法 (仅限 C + +)

读取语法图跳过可视语法图 -q langlvl = extended0xextended1y

-std 语法 (仅限 C + +)

读取语法图跳过可视语法图 -std = gnu++11gnu++0xc++0xc++11c++1yc++14gnu++14gnu++1y
缺省值
  • 仅限 C 默认设置取决于调用编译器的命令:
    • xlc 和相关调用命令的 -qlanglvl=extc99:ucs
    • cc 和相关调用命令的 -qlanglvl=extended:noucs
    • c89 和相关调用命令的 -qlanglvl=stdc89:noucs
    • c99 和相关调用命令的 -qlanglvl=stdc99:ucs
  • 仅限 C + + 默认设置根据调用编译器的命令而定:
    • 针对 xlCxlc + + 以及相关调用命令的 -qlanglvl=extended
    • 表 3中列出了不同语言级别 (compat366strict98extended (C++) 和 extended0x) 的功能相关子选项及其缺省设置。 缺省设置 "开启" 表示启用子选项; 否则,缺省设置 "关闭" 表示禁用子选项。
缺省值
  • 仅限 C-qlanglvl=extc99 和 为 -std=gnu99 xlclang
  • 仅限 C + +-qlanglvl=extended0x 和 用于 -std=gnu++11 | gnu++0x | c++0x xlclang++
C 语言程序的参数 C 语言程序的参数
C++ 语言程序的参数 C++ 语言程序的参数
使用  

预定义的宏

请参阅 与语言级别相关的宏 ,以获取 -qlanglvl 子选项预定义的宏的列表。