ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
735115
Связанные сообщения
CppSerialization
Вы просто не умеете его готовить. Я бы мог бесконечно показывать примеры, но это непробиваемо. Сразу авторитетно докажут, что у ...2022-09-30
Embedded Template Library (iar arm 9.20.4)2022-05-18
Наброшу.2021-12-06
В C++ доступна вся C-библиотека. Когда C++ сам себе разумеется нет, а как ты себе представляешь? Можешь написать свою реализацию...2020-09-23
Ты хочешь static_if, которого в C++ в чистом виде нет. constexpr if это совсем не то, т.к. он неизбежно будет компилиров...2020-07-02
В общем случае может быть 2-3 подхода перечисленных ниже. В базе всегда SFINAE -- шаблон откидывается и просматриваются следующи...2020-07-02
Надо понимать, что класс -- это не структура. Применительно к C++ мне больше нравится слово тип. Тип -- это сущность существующа...2020-04-26
А у тебя какие-то новые предложения по реализации escape-последовательностей? Я могу только предложить от них отказаться, путё...2020-02-05
Я говорю про другую типизацию. Не про int или long, и даже не про int или char*. Программа на ООП-языке существует в рамкой неко...2019-12-19
C#, Java и тем более Javascript -- это совсем другой код, нежели C++. На порядок менее оптимальный, если конечно задача не своди...2019-12-19
С языком очень даже связано. Компилирующие языки со статической типизацией (C++, C#, Java, C, Pascal) пропускают гораздо меньше ...2019-12-17
Не совсем. C++ -- это уход в сторону _типизированных_ ЯВУ, а Java или C# -- подвижка в сторону "управляемого кода" и что наиболе...2019-11-03
Да конечно, ну вот расскажи, как оно работает -->2019-10-25
Мне какой-то куб для Renesas вспомнился, лет 6 тому назад. Они хвалились, что у них код компилится сразу, как его пишешь. В итог...2019-10-25
Увы, часто нет. Ардуины не просто так возникли. МК подросли и стали возможны другие подходы к разработке. Видно же что делается:...2019-03-03
Не соглашусь, во-первых я чётко подвёл к мысли, что возможны разные классификации, существование одних не запрещает другие. И ес...2019-03-03
С этого стоило и начинать. С того, что язык скриптовый. И это уводит совсем в другую сторону, практически в параллельную вселенн...2019-03-01
fk0, легенда (09.02.2017 21:03 - 21:20, просмотров: 1874)
EvgenyCD! Смотри ссылку! Я понял, что это круче чем swig, например, в определённых обстоятельствах. Правда руки применять надо. http://classdesc.sourceforge.net/
Ecolab я не раскурил, не осилил. Только очень чувствую за этим стоят очень замечательные идеи. Что касается применения рук, то там всё просто. Оно парсит классы (структуры) и генерит конвертеры твоих типов в строку и обратно. Ну для элементарных типов (кроме enum) ничего не генерит, там всё элементарно. А другие неэлементарные типы получаются рекурсивным применением, причём это она сама делает. Ей только, когда её запускаешь, надо сказать как твоя главная фунция (::dump, ::pack, ::xml_pack...) будет называться к которой последовательно будут рекурсивно применяться все члены (структур/классов). Короче говоря, можно в итоге сдампить C/C++ структуры или классы в текст, бинарный формат, да что угодно, включая в структуру на другом языке программирования. И в обратную сторону то же самое. О чём xml, json или javaClass как бы намекают (и я не понял, почему для Ecolab там нет tcl, а tcl сделан как-то странно). А что самое тяжёлое в связке с другими ЯВУ нормального уровня (по сравнению с C/C++)? Что в последних структур нет. Есть списки, массивы, объекты (которые итерируются/энумерируются как те же списки или массивы). И если у тебя API, где всё на структурах -- тяжело связать. Swig, например, такое генерирует, смотреть страшно... Особенно если API не функциональный, а message passing, когда туда-сюда структуры гоняются. И для отладочных целей это ещё сдампить уметь -- очень замечательная идея тоже. Функции конечно остаются за бортом (swig и это, кстати, решает). Но функций немного и их можно написать руками, как и конверсии простых типов. Тем более нужны далеко не все. Хотя тут ещё пораскинуть мозгами: C/C++ опять же недоязыки в том смысле, что аргументы функций опять же не могут быть представлены объектом языка (таким же как переменная), а являются каким-то грязным хаком. Иначе как та же структура конвертировались бы на ура. Может какой-то враппер сделать, чтоб парсил декларации, превращал их в структуры. И конвертор готовой структуры в набор аргументов потом. Но это как-то уже сложностей много. :-(
[ZX]