我不知道这是否是提问的正确位置,但无论如何我都会这样做。为所有结构成员禁用Lint信息768
我有一个Lint的问题,我目前正在从另一个项目中迁移一些代码,并且有许多当前未在新项目中使用的结构成员。而且因为这皮棉当然与抱怨:
信息768:全球结构成员“富”(线89,文件/path/header.h)没有引用
我想在给剿这些消息(因为他们打破了我们的构建),但我不想全局做到这一点,因为与迁移并行,有代码正在实现,我们希望阻止结构成员不被使用。因此,我可以选择使用全局配置文件来抑制这些成员的消息(即-esym(768,foo))。
不过,我有这样的问题:
typedef struct {
u16 foo;
u16 bar;
} t_foobar;
typedef struct {
u16 foo;
u16 bar;
u16 temp;
} t_tempfoobar;
foobar的:: foo和foobar的::酒吧当前未使用的,所以我想作一个皮棉例外整个t_foobar结构,但如果我用-esym (foo)我也会为t_tempfoobar :: foo创建一个我不想要的例外。我试过-esym(768,t_foobar *),但没有奏效。我也不能做内联异常,如:
// lint -e768
typedef struct {
u16 foo;
u16 bar;
} t_foobar;
//lint -restore
它不起作用。它工作的唯一方法是如果我在Lint的配置文件中执行-e768。
对于如何做到这一点,您有什么建议吗?而不必为每个成员编写例外情况?这也存在其他同名结构的成员也被排除在外的问题。
感谢所有帮助
我已经解决了这个问题,该结构需要被命名,而不是匿名的,因为它可以使用通配符。 -esym(768,t_foobar *)这个工作如果结构也有名字t_foobar而不只是typedef的名字。 –
不错的工作。你应该发表你以前的评论作为你自己问题的答案 - 这种方式对未来的其他人显而易见,你已经认识到了这一点,它也可以帮助其他人。 –