答案 0 :(得分:5)
C99编译器必须定义一个值为199901L的前置符号__STDC_VERSION__
,C90不应该这样做(没有什么能阻止他们这样做并仍然符合C90,但我怀疑他们这样做)。对于非兼容模式下的非兼容编译器或编译器,显然没有什么是肯定的。还有bug和转换的问题(上次我检查过,g ++还没有在C ++ 98规定的值上定义等效的宏,而我知道的大多数人认为它对他们来说更有用。这样做而不是等待export
)的实施。
答案 1 :(得分:1)
cl.exe,Microsoft编译器?它主要不支持C99。