desativar avisos específicos no gcc
-
22-08-2019 - |
Pergunta
Em compiladores Microsoft, advertências específicas pode ser desativado com um #pragma, sem desabilitar outros avisos. Esta é uma característica extremamente útil se o compilador avisa sobre algo que "tem que ser feito".
O GCC neste momento tem um recurso semelhante? Parece que uma característica bastante óbvio que a sua inimaginável que não teria esse recurso ainda, mas informações mais velho na web sugere esse recurso não existe.
O que é um para usar em GCC?
Especificamente, eu gostaria de usar constantes de vários caracteres, como 'abc'. Estes avaliar efetivamente como um número base de 256 - um recurso muito útil, mas ele dispara um aviso. É muito útil para ligar quatro cadeias de caracteres em um comunicado caso.
Solução
Isto pode ser feito com o gcc pragmas diagnóstico .
Outras dicas
A partir do gcc manual:
Many options have long names starting with -f or with -W---for example,
-fforce-mem, -fstrength-reduce, -Wformat and so on. Most of these have
both positive and negative forms; the negative form of -ffoo would be
-fno-foo. This manual documents only one of these two forms, whichever
one is not the default.
Mas se você está perguntando se existe uma desactivar os alertas de nível de fonte, eu não estou ciente se esse recurso existe no gcc.
-Wno-multichar :
não avisar se uma constante multi caracteres ( 'Foof') é usado. Normalmente, eles indicam um erro de digitação código do usuário, como eles têm valores definidos pelo implementação, e não deve ser usado em código portátil.
Dentro de escrita de código fonte:
#pragma GCC diagnostic ignored "-Wno-multichar"
// code with warnings but wont be displayed now...