問題:
如何在編譯時決定是否支援C 11 的具體特點標準?
答案:
一種可靠的方法是使用 __cplusplus 常數,C 編譯器應設定該常數以反映它們支援的標準版本。例如:
#if __cplusplus <= 199711L #error This library needs at least a C++11 compliant compiler #endif
如果編譯器的 C 版本小於或等於 199711L,則此程式碼將產生錯誤,表示不支援 C 11。
但是,某些供應商在實現部分 C 11 支援後可能不會立即更新 __cplusplus。在這種情況下,仍然建議使用 Boost 的定義來精細檢測特定的 C 11 功能。
以上是如何在編譯時檢查 C 11 編譯器支援?的詳細內容。更多資訊請關注PHP中文網其他相關文章!