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=”标志。如果编译器的默认扩展模式与目标属性不匹配,或者如果设置了目标属性,则仍可能添加该标志。

低级个人编译功能

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 中所定义。