这只是一个我在哪里工作的问题,所以我做了一些挖掘,答案是ExpertsExchange。所以我把你交给最初的提问者,满洲:
我有一个项目是用纯C编写的,用于嵌入式系统。因此,我使用纯C来最小化代码大小。
当我编译项目时,为了确保代码符合-ansi标准,我使用了ANSI标志。然而,使用这个ansi标志的缺点是我只能使用C样式的注释(/*comments */)。当我需要使用嵌套注释时,这让我很头疼。
所以,我的问题是:我可以使用什么开关/标志来允许我使用C++样式的注释(//注释),同时保持启用ANSI检查?
这也很好地总结了我的问题。
发布于 2008-11-10 10:31:44
在最近发布的gcc版本中,-ansi被记录为与-std=c89相同。新的注释语法只在C99标准中可用,所以-std=c99允许它。
还有-std=gnu89,它与-std=c89相同,但允许所有的-std=gnu89扩展(包括C++风格的注释语法,它在被添加到标准之前很久就是一个GNU扩展)。
另外,请看-pedantic标志,它可以给您一些有用的警告。
参考文献:
发布于 2008-11-10 10:36:56
如果您仅仅因为想注释掉块而想使用C++样式注释,并且对嵌套/*感到头疼... */,那么您可以使用此技术:
#if 0
... code ...
#endif它实际上也能完成这项工作。
发布于 2008-11-10 10:06:32
您可以使用-lang-c-c++-comments预处理器来同时使用ANSI模式和C++样式的注释。
gcc -Wp,-lang-c-c++-comments -c source.chttps://stackoverflow.com/questions/277482
复制相似问题