реклама на сайте
подробности

 
 
> Что делает сия функция static void platform_free_uninit, И главное - какую книгу взять чтобы не задавать дурацких вопросов?
Димон Безпарольн...
сообщение Dec 7 2017, 10:00
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247



static void platform_free_uninit( void *ptr )
{
((void) ptr);
}

Если лень отвечать - просто посоветуйте книгу...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
Realking
сообщение Dec 7 2017, 10:07
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(Димон Безпарольный @ Dec 7 2017, 13:00) *
static void platform_free_uninit( void *ptr )
{
((void) ptr);
}

Если лень отвечать - просто посоветуйте книгу...


Да ничего она не делает

((void) ptr); чтоб компилятор не ругался, на неиспользуемую переменную


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Dec 7 2017, 10:37
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Правильней объявить:
Код
#define _U_    __attribute__((__unused__))

А потом писать
Код
static void platform_free_uninit(_U_ void *ptr ){}

Тогда gcc не будет матюкаться (отключать предупреждения не стоит, я вообще делаю -Wall -Werror -Wextra).
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Dec 7 2017, 11:20
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Цитата(Эдди @ Dec 7 2017, 13:37) *
Правильней объявить:

С каких пор компиляторозависимые прагмы стали лучше универсального способа, работающего с любым компилятором?
Цитата(Димон Безпарольный @ Dec 7 2017, 13:00) *
Если лень отвечать - просто посоветуйте книгу...

Не припомню книжек в которых подобное описывалось бы. Нужно просто узнать и запомнить.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Dec 7 2017, 12:27
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата(Kabdim @ Dec 7 2017, 14:20) *
С каких пор компиляторозависимые прагмы...

С таких, что gcc в 99% случаев используется. Если используется шланг, то он тоже прагмы gcc понимает. А со всякой фигней вроде sdcc подход особый, но там и варнингов подобных нет.
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Dec 7 2017, 13:12
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Порочный подход. Если нравятся прагмы, то в новом стандарте есть [[maybe_unused]].
Go to the top of the page
 
+Quote Post
juvf
сообщение Dec 8 2017, 12:20
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Ни чего не делает, Заглушка. Чтоб компилятор не давал ворнинга, правильнее в определении в аргументах не указывать имена неиспользуемых переменных, а только тип

static void platform_free_uninit( void * )
{
}
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Dec 8 2017, 15:08
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Из книжек мне понравился Прата С., подробно разжевывает тонкие и неочевидные места.
У него есть и по С и по С++:
Язык программирования C. Лекции и упражнения 2013 Пер. с англ., 5-е издание
Язык программирования С++. Лекции и упражнения 2005 Пер. с англ.


Go to the top of the page
 
+Quote Post
Димон Безпарольн...
сообщение Dec 8 2017, 15:58
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 734
Регистрация: 29-11-10
Пользователь №: 61 247



Цитата(HardEgor @ Dec 8 2017, 18:08) *
Из книжек мне понравился Прата С., подробно разжевывает тонкие и неочевидные места.
У него есть и по С и по С++:
Язык программирования C. Лекции и упражнения 2013 Пер. с англ., 5-е издание
Язык программирования С++. Лекции и упражнения 2005 Пер. с англ.

Большое спасибо. Также большое спасибо всем ответившим на мой вопрос.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Dec 8 2017, 16:01
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Realking @ Dec 7 2017, 12:07) *
((void) ptr); чтоб компилятор не ругался, на неиспользуемую переменную

Чтоб не ругался достаточно определить функцию как:
static void platform_free_uninit(void *) {}

Цитата(Эдди @ Dec 7 2017, 12:37) *
Правильней объявить:

неправильней.

PS: о, блин - juvf уже ответил...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 22:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01425 секунд с 7
ELECTRONIX ©2004-2016