C语言 为什么有人会在__STDC_VERSION__上加零



翻阅stdarg.h,我发现了以下内容:

#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L
#define va_copy(d,s)    __builtin_va_copy(d,s)
#endif

在表达式中添加 0 有什么目的吗?

大多数编译器会忽略这一点。它可能是以前实现的一些遗留代码,也可能是为了说服特定的编译器按照程序员的意图处理这个问题。

相关内容

  • 没有找到相关文章

最新更新