首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否为C99定义了#?

是否为C99定义了#?
EN

Stack Overflow用户
提问于 2010-01-22 16:09:19
回答 2查看 7.8K关注 0票数 23

我想在C99中以一种方式做一些事情,否则就会以另一种方式执行它。要检查的#define是什么?

代码语言:javascript
复制
#ifdef C99
...
#else
...
#endif
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-22 16:13:33

没有特定的#define值。只需检查__STDC_VERSION__并自己定义它!;-)

代码语言:javascript
复制
#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。我刚刚更改了定义的名称,以防您在代码中经常使用它们:

代码语言:javascript
复制
#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
#  if (__STDC_VERSION__ >= 201112L)
#   define C11
#  endif
# endif
#endif
票数 37
EN

Stack Overflow用户

发布于 2010-01-22 16:11:29

代码语言:javascript
复制
#if __STDC_VERSION__ == 199901L
/* C99 */
#else
/* not C99 */
#endif

如果要测试C99及更高版本,请将==更改为>=

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2115867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档