Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > GCC варнинги компиляции |
Автор: shara 6.6.2013, 15:27 | ||||
Приветствую собсно вопрос, есть ли в GCC способ "програмно" отключить некоторые из варнингов компиляции? по принципу как в M$VC
собсно варниг на который ругаицца
В данном конкретном случае варнинг не имеет смысла. Но хочется оставить такую проверку для остальных частей проекта.. |
Автор: borisbn 6.6.2013, 17:04 |
Лови - http://forum.vingrad.ru/forum/topic-350156/anchor-entry2500255/0.html - я уже спрашивал именно это. Мне помогли |
Автор: shara 10.6.2013, 11:54 | ||
Спасибо помогло ![]()
|
Автор: borisbn 10.6.2013, 11:58 |
а ещё лучше будет збавиться от этого![]() |
Автор: shara 10.6.2013, 12:17 | ||
иногда просто нет возможности избавиться от этого. Пример из реального проекта:
|
Автор: volatile 10.6.2013, 23:34 |
Автор: shara 11.6.2013, 10:20 |
![]() ИМХО вопрос вкуса. Видать автору так было наглядней\привычней (и кстати компиллер все равно ругается) |
Автор: borisbn 11.6.2013, 10:40 | ||
Уже с час сижу и не могу понять, почему компилятор ругается на проверку того, что некий указатель не равен NULL ![]() Просветите, плиз. Добавлено через 2 минуты и 11 секунд Я бы ещё понял, если бы тут где pr это & jdevSecLevel, который, действительно, не м.б. NULL Добавлено через 8 минут и 1 секунду И ещё. ИМХО лучше избавиться не отключением warning'а (при чём компиляторозависимым), а так
|
Автор: volatile 11.6.2013, 13:48 |
Приведите минимальный вариант кода, который можно скомпилить и где он ругаецца. Если вы еще не забыли коммент убрать, то вообще замечательно. и кстати да, вам нужно думать не о том как заткнуть глотку компилятору, который хочет вам подсказать на ваши ошибки. |
Автор: shara 11.6.2013, 19:59 |
Чем лучше? На вкус и цвет ИМХИ разные. Вводить лишнюю переменную как-то лениво (и расточительно). Конечно умный кмопиллер это скорей всего с оптимизирует. Но быть может пускай он просто молча скомпилит код. Тем паче отключающая варнинг директива четко указывать на то что девелопер: первое как минимум смотрит варнинги второе, подумал и решил отключить сей конкретный варнинг. Вот представьте, вы читаете чужой код - а там не пойми зачем камасутру делают.. и у вас начинает вещество работать, думать, а зачем, а что, а как? А так, взглянул в код и видно - не нужный варнинг подавлен. Аминь. GCC наше все |
Автор: borisbn 11.6.2013, 22:59 | ||||
Кста, я не случайно выделил слово ОБЯЗАТЕЛЬНО |
Автор: volatile 11.6.2013, 23:41 |
shara, вы это писали В этом месте он ругацца никак не может. Так что вы ввели в заблуждение и нас и себя. Каждый сам выбирает себе крест, в меру своей параноидальности. Вы его выбрали, ну так и несите с высоко поднятой головой. borisbn, предложил вам использовать лишний указатель, имхо вполне нормальный выход, в вашем случае ![]() Или вы хотите и рыбку съесть и палец о палец даже не ударить. ![]() И последнее, если вы все-же желаете вводить прагмы, то вы так и не привели пример того, где она не срабатывает. где нет возможности то? Если в ваш код вставить #pragma GCC diagnostic ignored "-Waddress", варнингов не будет. Зачем вы тему второй раз подняли? |
Автор: shara 12.6.2013, 11:57 | ||
Да, не там коммент написал ![]() Тему второй раз поднимать не хотел. Вы спрашивали я отвечал.. Свой ответ я получил во втором сообщении. Все что ниже - дискуссия о вкусах (с примесью моих опечаток) Всем спасибо ![]() |