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