lint 过滤器是特定于项目的后处理程序,通常使用 awk 脚本或类似程序读取 lint 的输出,并放弃项目认为没有标识真正问题的消息(例如,对于字符串函数,返回值有时或总是被忽略)。当 lint 选项和指令未提供对输出的足够控制时,lint 过滤器会生成定制的诊断报告。
lint 的两个选项在开发过滤器的过程中特别有用:
使用 -s 调用 lint 会导致将复合诊断转换为简单诊断,并对诊断的每个具体问题发出一行消息。这种易于进行语法分析的消息格式适合由 awk 脚本进行分析。
使用 -k 调用 lint 会导致在输出中输出您在源文件中编写的某些注释,并且有助于记录项目决策和指定后处理程序的行为。在后一个实例中,如果注释标识了预期的 lint 消息,并且报告的消息相同,则会过滤掉该消息。要使用 -k,请在要注释的代码前面的行中插入 NOTE(LINTED(msg)) 指令,其中 msg 表示在使用 -k 调用 lint 时将输出的注释。
请参阅表 4–9 中的指令列表,以了解未调用 -k 时 lint 所执行操作的说明(对于包含 NOTE(LINTED(msg)) 的文件。