Не знаю, правильно ли здесь задавать вопрос, но я все равно это сделаю.
У меня проблема с Lint, в настоящее время я переношу некоторый код из другого проекта, и есть много элементов структуры, которые в настоящее время не используются в новом проекте. И, конечно же, из-за этого Lint жалуется:
Информация 768: член глобальной структуры 'foo' (строка 89, файл /path/header.h) не указан
Я хотел бы подавить эти сообщения в данный момент (поскольку они нарушают нашу сборку), но я не хотел бы делать это глобально, потому что параллельно с миграцией реализуется код, и мы хотим предотвратить использование членов структуры. Таким образом, у меня остается возможность использовать глобальный файл конфигурации для подавления сообщений для этих членов (т.е. -essym(768, foo)).
Однако у меня есть эта проблема:
typedef struct {
u16 foo;
u16 bar;
} t_foobar;
typedef struct {
u16 foo;
u16 bar;
u16 temp;
} t_tempfoobar;
foobar::foo и foobar::bar в настоящее время не используются, поэтому я хотел бы сделать исключение lint для всей структуры t_foobar, но если я использую -esym(foo), я также сделаю исключение для t_tempfoobar::foo, что я и делаю не хочу. Я попробовал -esy(768, t_foobar*) и это не сработало. Я также не могу делать встроенные исключения, такие как:
// lint -e768
typedef struct {
u16 foo;
u16 bar;
} t_foobar;
//lint -restore
Это не работает. Единственный способ это работает, если я делаю -e768 в файле конфигурации для Lint.
Есть ли у вас какие-либо предложения о том, как это сделать? без необходимости писать исключение для каждого члена? у этого также есть проблема, заключающаяся в том, что члены других структур с тем же именем также исключаются.
Спасибо за любую помощь