SAL注释,使用哪一个

SAL annotations, which one to use?

本文关键字:哪一个 注释 SAL      更新时间:2023-10-16

所以我深入研究了C++的源代码注释,但发现可以说有很多方法可以达到目的。

示例:

__in
_In_
[Pre(FormatString(Style="printf")] LPCSTR format
  • VS2005 SAL注释
  • VS2010使用注释减少C/C++代码缺陷
  • VS2012使用SAL注释减少C/C++代码缺陷

有没有一种-microsoft的方法可以做到这一点?

微软推出了一个新的SAL标准(SAL 2.0),从Windows 81开始。SAL2.0使用注释的单下划线样式,例如_In_opt_等。因此,对于所有新代码,最佳实践将是遵循SAL2.0风格,如微软的幻灯片所示。

对于较旧的代码,"保持一致"的一般规则似乎是最好的方法,但如果您想更新所有注释,请再次遵循SAL 2.0风格。

--

1-SAL 2.0实际上从2010年就已经存在了(请查看链接演示文稿上的日期),但据我所知,它直到Windows 8才得到官方的外部支持。

可能不会,因为SAL注释是一种元语言,可以帮助静态分析工具在编译时检查错误,我认为它可能依赖于编译器(至少在某种程度上用于复杂的检查)因此,您可能不会对所有这些都有单向性,但从一个到另一个的转换并不太复杂。