21
A
回答
32
沒有具體的#define
值。只需檢查__STDC_VERSION__
並自己定義它! ;-)
#if __STDC_VERSION__ >= 199901L
/* C99 code */
#define C99
#else
/* Not C99 code */
#endif
#ifdef C99
/*My code in C99 format*/
#else
/*My code in C99 format*/
#endif
編輯:更一般的片斷,from here。我只是改變了定義的名稱,以防萬一,你會使用他們的代碼了很多:
#if defined(__STDC__)
# define C89
# if defined(__STDC_VERSION__)
# define C90
# if (__STDC_VERSION__ >= 199409L)
# define C94
# endif
# if (__STDC_VERSION__ >= 199901L)
# define C99
# endif
# endif
#endif
+0
現在可能會爲C11添加一個測試。 – chux 2017-11-29 17:34:32
23
#if __STDC_VERSION__ == 199901L
/* C99 */
#else
/* not C99 */
#endif
變化==
到>=
如果你想測試C99及更高版本。
相關問題
- 1. #define可以有多個參數嗎?
- 2. '#define xxx'(沒有任何價值!)與'#define xxx yyy'(帶值)形成對比嗎?
- 3. 可能把語句放到#define中嗎?
- 4. 的#define遠,近的#define WINDEF.H
- 5. Define BOOST_PHOENIX_ARG_LIMIT沒有效果
- 6. C99,C代碼
- 7. 「爲」 C99模式
- 8. getchar_unlocked()在C99
- 9. 有沒有辦法'擴展'#define指令?
- 10. #ifndef #define
- 11. C99複雜鑄造
- 12. c99動態數組
- 13. Emacs flycheck C99模式
- 14. P99和C99 vs C11
- 15. MS VS 2008和C99
- 16. 'typeof define ==='function'&& define ['amd']'用於什麼?
- 17. 我們可以混合使用__extension__和-std = c99嗎?
- 18. #define指令有多個替換?
- 19. DEFINE宏在所有平臺上工作?
- 20. 捕捉__LINE__和__FILE__沒有的#define
- 21. #define有條件衝突#inc -d庫
- 22. FunctionDefHelper :: Create和FunctionDefHelper :: Define有什麼區別?
- 23. C中#define和'='有什麼區別?
- 24. 帶有define或inline的C++宏?
- 25. 具有不同#define的IAR構建庫
- 26. const string與#define
- 27. #define和CUDA
- 28. 更換的#define
- 29. #define問題#pragma
- 30. Php Define Websend
術語挑剔:新手叫什麼的#define,大師們稱之爲*宏*或(*宏標識符*當它們特別指代應該替換的東西時)。 – Jens 2011-10-02 19:01:40