así que tengo un poco de código como este:reprimir Compilador función de advertencia nunca se declaró hace referencia
void foo (int, int);
void bar ()
{
//Do Stuff
#if (IMPORTANT == 1)
foo (1, 2);
#endif
}
Cuando se realiza una compilación sin "IMPORTANTE" Tengo un compilador de advertencia que se define foo y nunca hace referencia. Lo cual me hizo pensar (ese es el problema).
Para solucionar esto, acabo de agregar el mismo #if (IMPORTANT == 1)
alrededor de la definición de la función, etc ... para eliminar la advertencia, y luego comencé a preguntarme si había una forma diferente de suprimir esa advertencia sobre esa función. Estaba mirando attrib "no usado" de GCC y no sabía si las funciones tenían el mismo atributo que podía establecer. ¿Hay alguna otra manera de suprimirlo que suprima esa advertencia solo para esa función y no para el archivo?
Esto debería ser útil, específicamente 'ignored': http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html.Creo que 'push' y' pop' se pueden usar para cubrir solo una función, pero no puedo decir que alguna vez haya tenido que hacerlo. – chris
http://stackoverflow.com/questions/386220/how-can-i-hide-defined-but-not-used-warnings-in-gcc podría ayudar –
Sí, los vi, pero parecen suprimir las advertencias no utilizadas en el archivo completo en lugar de solo esa función específica, a menos que lo lea mal. – Jtello