Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подавление error'а "variable was set but never used"
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
EnRyo
Собственно, сабж.
Думаю многие из Вас сталкивались с подобной проблемой.
Как сделать так, чтобы компилятор перестал принимать это за ошибку и позволял компилировать код.
Ибо, имхо, бесит уже нереально.
Непомнящий Евгений
Код
#define USED(x) ((void)(x))
void test(int a, int b) {
  USED(a); USED(b);
}
EnRyo
Я нашел решение поэлегантней:

Цитата
#pragma diag_suppress=Pe550


cool.gif
KSN
Какими способами/инструментами народ пользуется для поиска/удаления НЕ используемых переменных? Например, temp использовалась, затем в какой-то момент необходимость в ней отпала, удалили выражение, где идут вычисления, и инициализацию оставили (компилятор может в этом случает и не ругнуться)
Код
unsigned char temp;
void f(void)
{
temp = 0;
.....
//temp = a*b;
}
shmur
Загляните в Настройки проекта -> С/С++Compiler -> Diagnostics и посмотрите все ли там правильно выставлено.
prottoss
Цитата(EnRyo @ Mar 14 2013, 15:55) *
Я нашел решение поэлегантней:
cool.gif
Вот как раз предлагаемое Вам выше (void)val намного более элегантней. Потому как понимается многими компиляторами.
Сергей Борщ
QUOTE (prottoss @ Mar 14 2013, 14:06) *
Вот как раз предлагаемое Вам выше (void)val намного более элегантней. Потому как понимается многими компиляторами.
Зависит от контекста. Если речь идет о параметре функции - то да, прототипы могут быть заданы свыше и менять их нельзя. А вот если это случай как в примере KSN, то такое решение прячет этот мертвый код напрочь и найти его можно будет только внимательным просматриванием исходников. В случае прагмы все проще - отключил ее и компилятор сам покажет непричесанные места в коде.
prottoss
А можно ведь скобочки поставить и компилятор опять освежит Вам память
Код
#define USED(x) x//((void)(x))
void test(int a, int b) {
   USED(a); USED(b);
}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.