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