確定實作的 C 標準版本
確定編譯器的 C 標準實作對於確保相容性並利用最新語言功能至關重要。已經發布了多個 C 標準,包括 C 98 和 C 03。
辨識標準版本的一種方法是檢查巨集 __cplusplus。
__cplusplus 巨集
根據 Bjarne Stroustrup 的 C 0x FAQ,__cplusplus 巨集將是 C 11 及更高版本,設定為大於 199711L 的值。但是,某些編譯器可能無法正確設定此巨集。
GCC
gcc 歷史上曾將 __cplusplus 設定為 1,無論語言版本為何。此問題已在 gcc 4.7.0 中解決。
MSVC
MSVC 也將 __cplusplus 錯誤地定義為 199711L。若要取得正確的值,請將 /Zc:__cplusplus 新增至編譯器標誌或檢查 MSVC 特定巨集 _MSVC_LANG。
預期__cplusplus 值
以上是如何確定我的編譯器所實現的 C 標準版本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!