C++注释风格:/*M ... M*/,这里的'M'代表什么?

6
我看到一些第三方源代码中使用了类似于/*M ... M*/的注释风格,但是这里的'M'代表什么呢?(也许它与某种版本控制或者代码文档系统(如doxygen)有关吗?)
我在opencv的许多(如果不是全部)源代码文件中都看到过这种注释。
你可以通过点击这里浏览Itseez的opencv存储库。
哦,我忘了提一下,这种注释风格似乎只存在于文件头部,并且似乎是声明许可证。 示例
/*M///////////////////////////////////////////////////////////////////////////////////////
//
//  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
//
//  By downloading, copying, installing or using the software you agree to this license.
//  If you do not agree to this license, do not download, install,
//  copy or use the software.
//
//
//                           License Agreement
//                For Open Source Computer Vision Library

[...]
//
//M*/

8
也许有人认为它看起来很漂亮。 - Cheers and hth. - Alf
1
从未见过。你能展示一些上下文吗? - GolezTrol
我不知道有任何标准的样式约定(例如doxygen /** ! */)。 - πάντα ῥεῖ
1
尝试使用原始注释作为原始字符串语法的尝试 :-) - Jarod42
2
从使用情况来看,也许是“mue importante”?但需要有人实际搜索这种类型的注释。也许他们有一种内部工具来扫描这些注释,并在想要以另一种许可证交付时替换许可证文本? - skyking
显示剩余3条评论
1个回答

8

注意: 与版本控制和甚至C++无关

这是一个跨操作系统EOL问题(Win|*Nix)和非本地EOL可视化的问题 ^M(确实是这样的字符串),在纯CR世界和Linux|Mac GUIs中。

opengl.hpp(来自您的示例存储库)为例:第一行

/*M///////////////////////////////////////////////////////////////////////////////////////
//

是,通过适当的渲染

/*
///////////////////////////////////////////////////////////////////////////////////////
//

所有的故障都是由于作者在Git中配置了丑陋的core.CRLF,或者完全忽略它导致的。


不错,但为什么它只出现在那两行而不是每一行? - alain
@alain - 可能是因为其他评论不是多行C风格的注释?或者LA只是从外部源代码中复制粘贴的。 - Lazy Badger
但是应该是^M而不是*M,对吗? - edmz
1
@Lazy Badger 这是一个纯粹的 M,不是 control-M。 @black:*/ 配对使用,因为它是一个注释行 /* - Robin Hsu
@RobinHsu - 我更喜欢直接从作者的存储库克隆(中间环节较少/可能出现问题):在Github评论中已经混淆了。我不对每个人的故障和琐事负责。我无法预测^M何时何地变成了M,但我看不到另一种描述方式 - 在奥卡姆剃刀原则的光芒下。 - Lazy Badger
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接