我有一个文档评论,例如:
/**
* See [datasheet][1] for details.
*
* [1]: https://example.com
*/
void my_func(void);
PC-lint 很沮丧,因为
note 9259: C comment contains '://' sequence [MISRA 2012 Rule 3.1, required]
。我想禁用此警告/注释。
摘自
e9259
的 PC-lint 手册:
[9259] C 注释包含“://”序列
消息 9059 报告 C 注释包含可能是 C++ 注释的情况,例如序列“//”。由于在评论中包含 URL 是一种常见做法,因此当 '//' 序列前面紧跟着一个 ':',以防止在以下情况下发出消息:
/* 详情请参阅 http://www.gimpel.com */
此消息(即消息 9529)通过报告 9059 未报告的实例来填补空白。
以及
e9059
的 PC-lint 手册:
[9059] C 注释包含 C++ 注释
在 C 风格注释中看到 C++ 风格注释。这可能会令人困惑。
我尝试将
!e9259
以及 lint !e9259
附加到有问题的行,但它们不起作用。我不能做类似 /*lint !e9259
的事情,因为 PC-lint 然后会在块注释中抱怨 /*
。出于同样的原因,//lint !e9259
不起作用。我也无法将文档注释包装在 /*lint -save -e9259*/
和 /*lint -restore*/
中,因为这会破坏 doxygen 对函数文档注释的解析。
MISRA C:2012 规则 3.1 有以下规则例外:
注释中允许使用
注释中甚至有一个明确的 URL 示例作为规则 3.1 可接受的例外!因此,您的代码在这方面符合 MISRA 要求。{scheme}://{path}
形式的统一资源标识符。
PC Lint 已损坏,请将其报告为错误。