首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS与2008和C99

MS与2008和C99
EN

Stack Overflow用户
提问于 2010-04-16 20:59:14
回答 1查看 2.8K关注 0票数 1

我饶有兴趣地读到了这篇文章“C99支持得有多普遍?”。其中一条评论指出微软不支持C99。但是注释符号//适用于VS 2008,这个符号在C99中。我有两个问题:

  1. 在多大程度上支持C99?
  2. 在同一代码中将C89和C99语法混合在一起可以吗?因此,如果我用C89编写代码,然后放置注释//。这意味着我有混合编码。那么在这种情况下编译器会做什么呢?先用c89检查我的代码,然后用C99检查代码,以接受我使用//用于注释?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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++中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2656080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档