有没有办法利用微软的SAL,例如通过保存此信息的C解析器?或者它是由微软制造的,仅供微软内部使用?
对于许多任务非常有用,例如为其他语言创建C库绑定。
答案 0 :(得分:3)
不确定“利用”是什么意思,但目前VS 2011 Beta在执行代码分析时使用SAL注释,通过/analyze选项。注释只是来自sal.h的纯宏,微软鼓励使用(至少在VS环境中)。
如果您只是想在预处理步骤之后保留信息,您可以将宏扩展为自己或只是改变一个现有的开源预处理器以排除符号(VS也有一些扩展选项)从SAL宏的),但使用注释提供的信息将需要一些自定义LLVM预传递或GCC插件来执行此操作(如果编译代码,但您可以同时使用它们进行绑定代)。
答案 1 :(得分:1)
SAL注释可以通过静态分析找到大量的错误。
http://msdn.microsoft.com/en-us/library/windows/hardware/hh454825(v=vs.85).aspx
我从来没有从头开始设置它,但我的开发环境将在每次构建时使用prefast进行静态分析。在编译时查找错误比在运行时查找错误要好。
答案 2 :(得分:0)
就我个人的经验而言,源注释是一种有用的方法,可以快速查看参数应该如何传递或者如何假设它们被传递。就利用这一点而言,我同意预先通过可能是获得真正优势的唯一途径,如果您对其输出有特定需求或期望,我建议您自己编写。 希望我能帮助..