Индекс форумов |
Исходное сообщение |
---|
"Выпуск пользовательского окружения Enlightenment 0.24 " Отправлено Аноним, 18-Май-20 20:48 |
Я все еще не понимаю, зачем это проверять. Если мой код сегфолтнулся, потому что в него извне передали что-то не то, то это проблемы некорректного внешнего клиентского кода. Указатель на функцию задает некий обобщенный хук, на который можно подвесить твой произвольный коллбэк. В реализации ты кастишь void* указатель к чему нужно (другого рантайм полиморфизма в С нет, уж сорян) и пишешь в Doxygen, что следите за тем, что передаете в эту реализацию хука - внутри есть касты в такой-то тип. Не уследил - сам виноват, тут дикий запад и примитивнейшая типизация, недалеко ушедшая от ассемблера (там-то типы исключительно в голове у разработчика, а для процессора всё просто числа), пиши на Scala, например, тогда. |
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования. |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |