Arlleex 190 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба 2 минуты назад, jcxz сказал: Тогда костыльный вариант: пропустить IP-фреймы с UDP мимо lwIP. Выкусив их из потока Ethernet-кадров от MAC до входа в lwIP. И обработав их самостоятельно. Обработка чисто UDP - совсем уж простая. На одном этом другие тараканы, в ваших тараканьих бегах, устраиваемых заказчиком, вас не обгонят. Насколько я помню, в LwIP даже есть специальное ветвление, где вызывается callback() в обход дебрей стека. Осталось проверить, насколько быстро он так работает. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 86 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба Как бы то ни было, но если класс обширнее, чем показанный ранее Tkey, то идея расписывать реализации методов прямо там внутри - далеко не лучшая по соображениям визуального восприятия, и без doxygen-сопроводиловки или вынесенных наверх комментов, будет сложно уловить интерфейс класса (напоминаю, что интерфейс в данном случае - это программный инструментарий взаимодействия). В этом смысле в плюсАх был выбран крайне провальный метод описания интерфейса программного модуля. Ну что поделать - плюсЫ вообще отличаются недоразвитостью, так сказать, это факт 🙂 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба 13 minutes ago, EdgeAligned said: Ну что поделать - плюсЫ вообще отличаются недоразвитостью, так сказать, это факт В этом плане C# гораздо выигрышнее, ждем его на смену плюсам ... )) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба 1 час назад, EdgeAligned сказал: будет сложно уловить интерфейс класса Можно запросто организовать интерфейс и в том виде как вы его имеете в виду. Было бы желание/необходимрсть. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 190 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба 1 минуту назад, VladislavS сказал: Можно запросто организовать интерфейс и в том виде как вы его имеете в виду. Было бы желание/необходимрсть. // .hpp class Abstract { public: void pure() = 0; void func(); }; // тут же ниже void Abstract::func() { ... } ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба Нет, конечно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 86 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба По-правде говоря, интерфейсом класса является то, что описано в public-области, потому что она предоставляет методы и поля взаимодействия с описанным классом. Концепты же, это просто наспех примазанная на сопли заплатка на шаблоны 🙂 Я ж говорю, ++ является довольно недоразвитым языком в области ООП. И каждый пересмотр стандарта языка в общем то практически и не справляет недостатки, а просто пришлепывает очередную заплатку на дыру. Ну, это ИМХО, если посмотреть трезво со стороны на проблемы языка. Ну а что делать то? Приходится терпеть. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба 2 минуты назад, EdgeAligned сказал: интерфейсом класса является то, что описано в public-области Не только! И при желании можно организовать читаемую открытую секцию с интерфейсом и закрытую с реализацией. 3 минуты назад, EdgeAligned сказал: Концепты же, это просто наспех примазанная на сопли заплатка на шаблоны Шаблонные параметры класса это тоже его интерфейс и концепты позволяют с ними работать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 86 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба При желании? Ну дак а я о чем ранее и говорил. Только это делается не так, как вы показали. Как вы показали - это худший в этом смысле вариант. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба Где я что показал? Ничего не показывал - у вас глюки. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 86 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба 🙂 У вас короткая память - две страницы назад, хехе. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба Две страницы назад я показывал пример как в заголовочном файле размещается код без создания дополнительных единиц трансляции. О чем, собственно, этот топик и есть. Ничего общего с примером организации интерфейса класса он не имеет. Это плод вашей фантазии. В классе на пол экрана кода всего с двумя открытыми методами выделять интерфейс нет никакого смысла. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 86 26 сентября, 2023 Опубликовано 26 сентября, 2023 · Жалоба Именно про это я и сказал - когда есть пара штук методов, это еще кое-как можно терпеть, покрутив колесиком портянку, но когда вот поболее будет сущностей там, то такой подход уже будет дурно пахнуть. И уж тем более, что вынести из описания класса методы можно в ЭТОТ ЖЕ САМЫЙ файл, что визуально будет более аккуратным в плане восприятия интерфейса класса. Такой вот расклад. Учитесь мыслить ширше и глубжее, чем однажды выученное вами - это пригодится, когда шагнете выше ног 🙂 (извините, если задел ваше ЧСВ, не кипятитесь попусту) И уж тем более, что (повторюсь) тема темы была в диаметрально противоположном - не запихать всё в один файл, а наоборот, разнести. Как делать в одном файле - любой дурак знает. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 27 сентября, 2023 Опубликовано 27 сентября, 2023 · Жалоба 5 часов назад, EdgeAligned сказал: тема темы была в диаметрально противоположном - не запихать всё в один файл, а наоборот, разнести Именно это я и показываю. Разносим классы по заголовочным файлам не увеличивая количество единиц трансляции. Что положительно сказывается на оптимизации - хочешь на скорость, хочешь на объём. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 235 27 сентября, 2023 Опубликовано 27 сентября, 2023 · Жалоба Тема себя исчерпала и была закрыта. Для частных обсуждений всегда есть ЛС. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться