Подавить предупреждение компилятора, объявленная функция никогда не упоминается

У меня есть такой код:

void foo (int, int);

void bar ( )
{
    //Do Stuff

   #if (IMPORTANT == 1)
       foo (1, 2);
   #endif

}

При выполнении компиляции без «ВАЖНО» Я получаю предупреждение компилятора, что foo определен и на него никогда не ссылаются. Что заставило меня задуматься (вот в чем проблема).

Чтобы исправить это, я просто добавил то же самое#if (IMPORTANT == 1) вокруг определения функции и т. д. ... чтобы удалить предупреждение, и затем я начал задаваться вопросом, есть ли другой способ подавить это предупреждение для этой функции. Я смотрел на "неиспользованный" Атрибут GCC и не знали, имели ли функции тот же атрибут, который я мог бы установить? Есть ли еще какой-то способ подавить его, который подавляет это предупреждение только для этой функции, а не для файла?

Ответы на вопрос(8)

Ваш ответ на вопрос