首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在启用ANSI时在gcc中启用C++样式的注释?

如何在启用ANSI时在gcc中启用C++样式的注释?
EN

Stack Overflow用户
提问于 2008-11-10 10:00:35
回答 7查看 15.6K关注 0票数 19

这只是一个我在哪里工作的问题,所以我做了一些挖掘,答案是ExpertsExchange。所以我把你交给最初的提问者,满洲:

我有一个项目是用纯C编写的,用于嵌入式系统。因此,我使用纯C来最小化代码大小。

当我编译项目时,为了确保代码符合-ansi标准,我使用了ANSI标志。然而,使用这个ansi标志的缺点是我只能使用C样式的注释(/*comments */)。当我需要使用嵌套注释时,这让我很头疼。

所以,我的问题是:我可以使用什么开关/标志来允许我使用C++样式的注释(//注释),同时保持启用ANSI检查?

这也很好地总结了我的问题。

EN

回答 7

Stack Overflow用户

发布于 2008-11-10 10:31:44

在最近发布的gcc版本中,-ansi被记录为与-std=c89相同。新的注释语法只在C99标准中可用,所以-std=c99允许它。

还有-std=gnu89,它与-std=c89相同,但允许所有的-std=gnu89扩展(包括C++风格的注释语法,它在被添加到标准之前很久就是一个GNU扩展)。

另外,请看-pedantic标志,它可以给您一些有用的警告。

参考文献:

  • http://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html
  • http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
票数 28
EN

Stack Overflow用户

发布于 2008-11-10 10:36:56

如果您仅仅因为想注释掉块而想使用C++样式注释,并且对嵌套/*感到头疼... */,那么您可以使用此技术:

代码语言:javascript
复制
#if 0
... code ...
#endif

它实际上也能完成这项工作。

票数 19
EN

Stack Overflow用户

发布于 2008-11-10 10:06:32

您可以使用-lang-c-c++-comments预处理器来同时使用ANSI模式和C++样式的注释。

代码语言:javascript
复制
gcc -Wp,-lang-c-c++-comments -c source.c
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/277482

复制
相关文章

相似问题

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