我饶有兴趣地读到了这篇文章“C99支持得有多普遍?”。其中一条评论指出微软不支持C99。但是注释符号//适用于VS 2008,这个符号在C99中。我有两个问题:
发布于 2010-04-16 21:03:12
在C模式下,MSVC几乎不支持C99。它所做的几件事(比如'//‘注释)实际上是它们添加到C90模式中的扩展,这些扩展来自于C++,可能也是在C99中。在编译C代码时,MSVC将'//‘注释视为C90的扩展,而不是将C90代码与C99代码混合在一起。
通过将C文件编译为C99,您将获得“更好”的C++支持--通过这种方式,您将得到一些声明,这些声明可以在for语句中插入语句和变量声明,这些语句和变量声明的作用域为for循环。
微软似乎对在MSVC中添加C99支持毫无兴趣--即使他们将C99中的东西添加到C++编译器模式(比如在VS2010中添加stdint.h ),因为有一些附加的C99东西正在添加到C++0x中的C++中。
https://stackoverflow.com/questions/2656080
复制相似问题