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