![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
shara |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
Приветствую
собсно вопрос, есть ли в GCC способ "програмно" отключить некоторые из варнингов компиляции? по принципу как в M$VC
собсно варниг на который ругаицца
В данном конкретном случае варнинг не имеет смысла. Но хочется оставить такую проверку для остальных частей проекта.. -------------------- с точки зрения аэродинамики шмель не может летать |
||||
|
|||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Лови - http://forum.vingrad.ru/forum/topic-350156...y2500255/0.html - я уже спрашивал именно это. Мне помогли
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
Спасибо помогло
![]()
-------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
иногда просто нет возможности избавиться от этого.
Пример из реального проекта:
-------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
![]() ИМХО вопрос вкуса. Видать автору так было наглядней\привычней (и кстати компиллер все равно ругается) -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Уже с час сижу и не могу понять, почему компилятор ругается на проверку того, что некий указатель не равен NULL
![]() Просветите, плиз. Добавлено через 2 минуты и 11 секунд Я бы ещё понял, если бы тут где pr это & jdevSecLevel, который, действительно, не м.б. NULL Добавлено через 8 минут и 1 секунду И ещё. ИМХО лучше избавиться не отключением warning'а (при чём компиляторозависимым), а так
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Приведите минимальный вариант кода, который можно скомпилить и где он ругаецца. Если вы еще не забыли коммент убрать, то вообще замечательно. и кстати да, вам нужно думать не о том как заткнуть глотку компилятору, который хочет вам подсказать на ваши ошибки. |
|||
|
||||
shara |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
комент писан руками специально чтобы указать "проблемное" место. Не придирайтесь пожалуйста
простите, забыл сказать проект компилится с флагом -Wall (aka, хАчу все варнинги ![]()
Макрос INIT_BUFFER_FROM_RAW, как несложно догадаться из названия, писан для того чтобы инитить Buffer общего типа некими данными, на которые указывать указатель ![]() Код зашибисть работает. "проблемы" начались когда в этот самый буфер захотелось втолкать число, хранится в обыкновенном инте. Известно что инт обыкновенный создается на стеке, в следсвии чего его адрес никогда не будет нуль, о чем компилятор собсно и ругается. В общем, вместо тысячи слов:
Спасибо за внимание и время уделенное моей скромной персоне. -------------------- с точки зрения аэродинамики шмель не может летать |
||||||||
|
|||||||||
shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
Чем лучше? На вкус и цвет ИМХИ разные. Вводить лишнюю переменную как-то лениво (и расточительно). Конечно умный кмопиллер это скорей всего с оптимизирует. Но быть может пускай он просто молча скомпилит код. Тем паче отключающая варнинг директива четко указывать на то что девелопер: первое как минимум смотрит варнинги второе, подумал и решил отключить сей конкретный варнинг. Вот представьте, вы читаете чужой код - а там не пойми зачем камасутру делают.. и у вас начинает вещество работать, думать, а зачем, а что, а как? А так, взглянул в код и видно - не нужный варнинг подавлен. Аминь. GCC наше все -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Кста, я не случайно выделил слово ОБЯЗАТЕЛЬНО Это сообщение отредактировал(а) borisbn - 12.6.2013, 00:32 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
shara, вы это писали
В этом месте он ругацца никак не может. Так что вы ввели в заблуждение и нас и себя. Каждый сам выбирает себе крест, в меру своей параноидальности. Вы его выбрали, ну так и несите с высоко поднятой головой. borisbn, предложил вам использовать лишний указатель, имхо вполне нормальный выход, в вашем случае ![]() Или вы хотите и рыбку съесть и палец о палец даже не ударить. ![]() И последнее, если вы все-же желаете вводить прагмы, то вы так и не привели пример того, где она не срабатывает. где нет возможности то? Если в ваш код вставить #pragma GCC diagnostic ignored "-Waddress", варнингов не будет. Зачем вы тему второй раз подняли? Это сообщение отредактировал(а) volatile - 11.6.2013, 23:48 |
|||
|
||||
shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
Да, не там коммент написал ![]() Тему второй раз поднимать не хотел. Вы спрашивали я отвечал.. Свой ответ я получил во втором сообщении. Все что ниже - дискуссия о вкусах (с примесью моих опечаток) Всем спасибо ![]() -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |