отключить определенные предупреждения в gcc

StackOverflow https://stackoverflow.com/questions/1079997

  •  22-08-2019
  •  | 
  •  

Вопрос

В компиляторах Microsoft определенные предупреждения можно отключить с помощью #pragma, не отключая другие предупреждения.Это чрезвычайно полезная функция, если компилятор предупреждает о чем-то, что "должно быть сделано".

Есть ли у GCC на данный момент аналогичная функция?Это кажется достаточно очевидной функцией, которую невозможно представить, что у нее еще не было бы этой функции, но более старая информация в Интернете предполагает, что этой функции не существует.

Что можно использовать в GCC?

В частности, мне нравится использовать многосимвольные константы, такие как 'abc'.Они эффективно вычисляются как базовое число 256 - очень удобная функция, но она вызывает предупреждение.Это очень удобно для включения четырехсимвольных строк в операторе case.

Это было полезно?

Решение

Это можно сделать с помощью gcc диагностические программы.

Другие советы

Из руководства gcc:

   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.

Но если вы спрашиваете, отключено ли предупреждение на уровне исходного кода, я не знаю, существует ли эта функция в gcc.

-Wno-мультичар:

Не предупреждайте, если используется многозначная константа ('FOOF').Обычно они указывают на опечатку в коде пользователя, поскольку они имеют значения, определенные реализацией, и не должны использоваться в переносимом коде.

Дополнительная информация.

Запись внутри исходного кода :

#pragma GCC diagnostic ignored "-Wno-multichar"

// code with  warnings but wont be displayed now...
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top