微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Visual Studio2010中获得C不是C ++语法突出显示?

如何解决如何在Visual Studio2010中获得C不是C ++语法突出显示?

| 我正在和朋友一起用C做一些小练习,出于习惯,我一直使用来自较新语言(例如bool,new)的关键字。我花了一段时间才意识到这是问题所在,因为VS始终将它们突出显示为关键字,即使它们不在C语言中也是如此。 我确保所有文件都为* .c,并且将项目属性设置为C编译。但是,编辑器总是为C ++关键字添加语法Highlightint,除了C关键字。有没有办法告诉Visual Studio我只想要纯C语言? 如果重要,请使用VS2010。     

解决方法

你不能。这是Visual Studio中的已知错误。在Visual Studio中用于语法着色的\“ Intellisense \”机制基于Microsoft购买的EDG C ++编译器,因为它们的Visual C / C ++编译器不适合处理动态分析所需的增量解析。代码不完整。 EDG编译器仅是C ++。 通过创建一个编译为C的foo.c文件,您可以看到一个示例。然后将以下行添加到该文件中:
 #ifdef __cplusplus
 #error C++ is what I am
 #else
 #error A bunch of C code!
 #endif
当您编译程序时,您将看到错误消息“一堆C代码!”,但是当您查看Visual Studio编辑器窗口时,C侧将变灰并标记为非活动状态,只有C ++侧将被显示。有色!那是因为基于EDG C ++编译器的Intellisense语法着色器认为一切都是C ++。     ,请考虑到C(C99 std)已采用了某些C ++功能,例如C ++样式的注释(//)或布尔(布尔)数据类型。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。