繁体   English   中英

由于在c ++注释中使用xml导致奇怪的编译器错误

[英]Strange compiler error due to use of xml in c++ comments

我正在研究一个类似unix的专有操作系统(我不知道这是否相关)并使用g ++进行编译。

我最近注意到如果我在我的C ++注释中放入类似xml的标签,我会遇到编译器错误。 我并不特别需要这样做,但我认为这很奇怪,我想知道为什么这对编译器来说是一个问题。 例如:

// <debugoutput>
std::cerr << "I'm debugging!" << std::endl;
// </debugoutput>

如果它在我的代码中间某处,会导致大量编译器错误。 将最后一个注释行</debugoutput>更改为<debugoutput>会使编译正常。

有谁知道为什么编译器会被评论中的那条线混淆? 发生这种情况时产生的编译器错误似乎根本不相关 - 如果你错过了类末尾的半冒号,未明确定义类的未定义引用等等,它们更像你所看到的。我可以' t粘贴我的开发系统的输出,但相信我看起来与问题无关 - 它更像编译器混淆了。

这听起来像是一个有关插图的问题,但如果没有实际的错误信息或显示问题的小代码示例,则很难确定。

尝试更改</和实际文本之间的空格,以及在C样式注释中尝试它,看看是否提供了额外的见解。

有关C / C ++有向图和三字图的信息,请参阅http://en.wikipedia.org/wiki/C_trigraph#C以及C ++中Trigraph序列的用途? 为什么C和C ++中有二层图? 来自SO。

似乎有可能拾取一些序列(例如</作为有向图并且它正在抛弃编译器)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM