Supprimer avertissement du Compilateur Fonction déclarée jamais référencé

Donc j'ai un code comme ceci:

void foo (int, int);

void bar ( )
{
    //Do Stuff

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

}

Lors d'une compilation sans "IMPORTANT", je reçois un message d'Avertissement du compilateur que foo est défini et jamais référencé. Ce qui m'a fait penser (c'est le problème).

Donc, pour résoudre ce problème que je viens d'ajouter la même #if (IMPORTANT == 1) autour de la définition de la fonction, etc... pour supprimer le message d'avertissement, puis j'ai commencé à me demander si il y avait un autre moyen de supprimer cet avertissement sur cette fonction. J'étais en train de regarder "inutilisé" de GCC attrib et je ne savais pas si les fonctions ont le même attribut je pourrais le mettre? Est-il encore un autre moyen de supprimer ce qui supprime cet avertissement que pour la fonction et non pas le fichier?

Cela devrait être utile, en particulier ignored: gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html. Je pense que push et pop peut être utilisé pour couvrir juste une fonction, mais je ne peux pas dire que j'ai jamais eu.
stackoverflow.com/questions/386220/... pourrait aider
Oui j'ai vu ces derniers, mais ils semblent pour supprimer le solde non utilisé des avertissements dans le fichier en entier au lieu de simplement que la fonction spécifique, à moins que j'ai lu de travers.
Quel avertissement options que vous utilisez? Vous devriez recevoir cet avertissement pour une inutilisés static fonction. Dans ce cas, si vous déclarez static inline l'avertissement doit s'en aller.
Je ne reçois un avertissement quand je le déclarer static ce que je suis absent?

OriginalL'auteur Jtello | 2012-06-20