1

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

问题是 Solaris lint 文档仅针对几种警告类型指定了如何执行此操作(据我所知)。

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

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

/*line -e511*/
4

1 回答 1

3

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

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

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

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

新方法还需要包含note.h

于 2015-07-22T19:48:53.570 回答