我通常在C89中编写C代码,现在C99的一些功能(如intxx_t
或__VA_ARGS__
或snprintf
)非常有用,甚至可能是至关重要的。
在将我的要求从C89转移到C99之前,我想知道哪些C99功能被广泛支持,哪些不被广泛支持甚至被认为是有害的。
我知道我们可以检查目标编译器的支持情况,但这会大大缩小我们的支持范围,而且由于这是针对开源软件的,我更希望获得更广泛的支持。
例如,我们使用Solaris(suncc)编译器和gcc,但可能会有其他编译器我们会避开,同时仍然保持与极少努力即可实现的兼容性。
例如,我从未在Windows上工作过,也不了解任何关于Windows编译器的知识,但保持与Windows的兼容性是一个好主意。
gcc
。 - GManNickG