<分区>
我通常在 C89 中编写 C 代码,现在 C99 的一些特性(如 intxx_t
或 __VA_ARGS__
或 snprintf
)非常有用,并且甚至可能至关重要。
在我将我的要求从 C89 提升到 C99 之前,我想知道哪些 C99 特性得到了广泛支持,哪些没有得到广泛支持,甚至被认为是有害的。
我知道我们可以只检查我们的目标编译器支持,但这会大大缩小我们的支持范围,因为这是针对开源软件的,我希望获得更广泛的支持。
例如,我们使用 Solaris (suncc) 编译器和 gcc,但我们可能会移走其他编译器,同时我们可以通过很少的努力保持兼容性。
例如,我从未在 Windows 上工作过,也不了解 Windows 编译器,但保持 Windows 兼容性会很好。