如何在C中抑制Solaris lint警告的代码



我需要能够在C代码的特定行上抑制lint警告,我想用内联指令做到这一点。这是针对我要移植到64位的大量遗留代码,我宁愿把指令放在代码中,而不是放在运行lint的Makefile中,因为后者相当晦涩。

问题是Solaris lint文档只指定了如何对少数警告类型(据我所知)这样做。

在过去,使用以下形式,Solaris文档建议这仍然是允许的,但它似乎不起作用。使问题复杂化的是,Solaris lint不给出错误编号,而是使用像E_CAST_INT_TO_SMALL_INT这样的标识符。

这是旧的方法(代码中已经有很多这样的方法):

/*line -e511*/

在此链接的Lint指令部分中描述

有两种内联的方法来抑制单行代码的lint警告——旧的方法和推荐的新方法。

旧的方法是使用LINTED注释:/*LINTED*/

新的方法是使用lint宏:NOTE(LINTED (msg))

新方法还需要包含note.h.

相关内容

  • 没有找到相关文章

最新更新