我需要能够在特定的C代码行上抑制lint警告,我想用内联指令来做这件事。这是针对我移植到64位的大量遗留代码,而且我更倾向于将代码放在代码中而不是运行lint的Makefile中,因为后者非常模糊。
问题是Solaris lint文档指定了如何仅针对少数警告类型执行此操作(据我所知)。
过去,使用了以下表单,Solaris文档表明仍然允许这样,但它似乎不起作用。使问题更复杂的是Solaris lint不提供错误编号,而是使用E_CAST_INT_TO_SMALL_INT等标识符。
这是旧方法(代码中已有很多这样的方法):
/*line -e511*/
答案 0 :(得分:3)
Described in Lint Directives Section at this link
有两种内联方法可以抑制单行代码的lint警告 - 旧方法和推荐的新方式。
旧方法是使用LINTED评论:/*LINTED*/
新方法是使用lint宏:NOTE(LINTED (msg))
新方法还需要包括 note.h 。