Димон Безпарольный 2 7 декабря, 2017 Опубликовано 7 декабря, 2017 · Жалоба static void platform_free_uninit( void *ptr ) { ((void) ptr); } Если лень отвечать - просто посоветуйте книгу... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Realking 0 7 декабря, 2017 Опубликовано 7 декабря, 2017 · Жалоба static void platform_free_uninit( void *ptr ) { ((void) ptr); } Если лень отвечать - просто посоветуйте книгу... Да ничего она не делает ((void) ptr); чтоб компилятор не ругался, на неиспользуемую переменную Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 1 7 декабря, 2017 Опубликовано 7 декабря, 2017 · Жалоба Правильней объявить: #define _U_ __attribute__((__unused__)) А потом писать static void platform_free_uninit(_U_ void *ptr ){} Тогда gcc не будет матюкаться (отключать предупреждения не стоит, я вообще делаю -Wall -Werror -Wextra). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 7 декабря, 2017 Опубликовано 7 декабря, 2017 · Жалоба Правильней объявить: С каких пор компиляторозависимые прагмы стали лучше универсального способа, работающего с любым компилятором? Если лень отвечать - просто посоветуйте книгу... Не припомню книжек в которых подобное описывалось бы. Нужно просто узнать и запомнить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eddy_Em 1 7 декабря, 2017 Опубликовано 7 декабря, 2017 · Жалоба С каких пор компиляторозависимые прагмы... С таких, что gcc в 99% случаев используется. Если используется шланг, то он тоже прагмы gcc понимает. А со всякой фигней вроде sdcc подход особый, но там и варнингов подобных нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 7 декабря, 2017 Опубликовано 7 декабря, 2017 · Жалоба Порочный подход. Если нравятся прагмы, то в новом стандарте есть [[maybe_unused]]. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 17 8 декабря, 2017 Опубликовано 8 декабря, 2017 · Жалоба Ни чего не делает, Заглушка. Чтоб компилятор не давал ворнинга, правильнее в определении в аргументах не указывать имена неиспользуемых переменных, а только тип static void platform_free_uninit( void * ) { } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 80 8 декабря, 2017 Опубликовано 8 декабря, 2017 · Жалоба Из книжек мне понравился Прата С., подробно разжевывает тонкие и неочевидные места. У него есть и по С и по С++: Язык программирования C. Лекции и упражнения 2013 Пер. с англ., 5-е издание Язык программирования С++. Лекции и упражнения 2005 Пер. с англ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 8 декабря, 2017 Опубликовано 8 декабря, 2017 · Жалоба Из книжек мне понравился Прата С., подробно разжевывает тонкие и неочевидные места. У него есть и по С и по С++: Язык программирования C. Лекции и упражнения 2013 Пер. с англ., 5-е издание Язык программирования С++. Лекции и упражнения 2005 Пер. с англ. Большое спасибо. Также большое спасибо всем ответившим на мой вопрос. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 8 декабря, 2017 Опубликовано 8 декабря, 2017 · Жалоба ((void) ptr); чтоб компилятор не ругался, на неиспользуемую переменную Чтоб не ругался достаточно определить функцию как: static void platform_free_uninit(void *) {} Правильней объявить: неправильней. PS: о, блин - juvf уже ответил... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться