CMAKE_C_KNOWN_FEATURES¶
在 3.1 版本中添加。
CMake 的此版本已知的 C 功能列表。
此全局属性中列出的功能可能已知可用于 C 编译器。如果该功能可用于 C 编译器,它将列在 CMAKE_C_COMPILE_FEATURES
变量中。
此处列出的功能可以与 target_compile_features()
命令一起使用。 有关编译功能和支持的编译器列表的信息,请参阅 cmake-compile-features(7)
手册。
此版本的 CMake 已知的功能在下面列出。
指示 C 标准支持的高级元功能¶
在 3.8 版本中添加。
c_std_90
编译器模式至少为 C 90。
c_std_99
编译器模式至少为 C 99。
c_std_11
编译器模式至少为 C 11。
c_std_17
在 3.21 版本中添加。
编译器模式至少为 C 17。
c_std_23
在 3.21 版本中添加。
编译器模式至少为 C 23。
注意
如果编译器的默认标准级别至少是请求的功能的标准级别,则 CMake 可能会省略 -std=
标志。 如果编译器的默认扩展模式与 <LANG>_EXTENSIONS
目标属性不匹配,或者如果设置了 <LANG>_STANDARD
目标属性,则仍可能添加该标志。
底层单独的编译功能¶
c_function_prototypes
函数原型,如
ISO/IEC 9899:1990
中定义。c_restrict
restrict
关键字,如ISO/IEC 9899:1999
中定义。c_static_assert
静态断言,如
ISO/IEC 9899:2011
中定义。c_variadic_macros
可变参数宏,如
ISO/IEC 9899:1999
中定义。