Библиотека сериализации
От: SpiritOfNIKOPOL  
Дата: 17.10.07 15:57
Оценка:
Помогите, срочно нужна помощь в написании библиотеки сериализации и десериализации объектов для C++, аналогично тому, что есть в C# или Java.
Сериализоваться объекты будут в несколько форматов, включая XML.

18.10.07 11:44: Перенесено из 'Декларативное программирование'
Re: Библиотека сериализации
От: SpiritOfNIKOPOL  
Дата: 17.10.07 16:03
Оценка:
очень надо..
Re[2]: Библиотека сериализации
От: DrDred Россия  
Дата: 17.10.07 17:19
Оценка: 1 (1)
Здравствуйте, SpiritOfNIKOPOL, Вы писали:

SON>очень надо..


Через полчаса проект заказчику сдавать?
Boost чем не подходит? Там же есть ссылки на альтернативные реализации.
А если во чтобы то ни стало реализовывать ручками — требования хотя бы опиши, и допустимый уровень ограничений...
... << RSDN@Home 1.2.0 alpha rev. 672>>
--
WBR, Alexander
Re[3]: Библиотека сериализации
От: SpiritOfNIKOPOL  
Дата: 18.10.07 02:54
Оценка: -1
Здравствуйте, DrDred, Вы писали:
DD>Здравствуйте, SpiritOfNIKOPOL, Вы писали:
DD>Через полчаса проект заказчику сдавать?
нет не через пол часа , и это я не по заказу а так сказать вроде моего курсрового меня, зам декана дал задание..
требования узнаю тогда напишу немного позже.. я потихоньку уже разбираюсь что-есть что, но написать её пока не знаю как, вот нужна ваша помошь.
Re: Библиотека сериализации
От: denis.zhdanov Россия http://denis-zhdanov.blogspot.com/
Дата: 18.10.07 07:01
Оценка:
Здравствуйте, SpiritOfNIKOPOL, Вы писали:

SON>Помогите, срочно нужна помощь в написании библиотеки сериализации и десериализации объектов для C++, аналогично тому, что есть в C# или Java.

SON>Сериализоваться объекты будут в несколько форматов, включая XML.

Видимо, сначала надо понять, как происходит сериализация в джаве или шарпе..
http://denis-zhdanov.blogspot.com
Re[3]: Библиотека сериализации
От: Sergey Россия  
Дата: 18.10.07 07:54
Оценка:
> Через полчаса проект заказчику сдавать?
> Boost чем не подходит?

Вот кстати boost::serialization рекомендовать можно только с большой оглядкой Потому что она
1) не thread-safe
2) не дружит с dll
3) трекинг в ней реализован так, что возможно лучше бы его вообще не было...

Часть проблем решается "доработкой напильником", но для этого придется разбираться, как она устроена внутри.
Впрочем, для курсовика потянет.
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[2]: Библиотека сериализации
От: _Obelisk_ Россия http://www.ibm.com
Дата: 18.10.07 11:01
Оценка:
Здравствуйте, denis.zhdanov, Вы писали:


DZ>Видимо, сначала надо понять, как происходит сериализация в джаве или шарпе..


Там Reflection есть, что позволяет сделать default-ную сериализацию для объектов. А в С++ его нет, поэтому поддержку сериализации надо закладывать самому при проектировании иерархии классов. И возможность использвания каких-либо библиотек для сериализации очень сильно зависит от конкретной задачи и проектируемой иерархии.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[4]: Библиотека сериализации
От: Roman Odaisky Украина  
Дата: 18.10.07 14:12
Оценка:
Здравствуйте, Sergey, Вы писали:

S>Вот кстати boost::serialization рекомендовать можно только с большой оглядкой :) Потому что она

S>1) не thread-safe

Это как? Одновременно загружать один и тот же объект из двух архивов?
До последнего не верил в пирамиду Лебедева.
Re[5]: Библиотека сериализации
От: Sergey Россия  
Дата: 18.10.07 14:53
Оценка:
> S>Вот кстати boost::serialization рекомендовать можно только с большой оглядкой Потому что она
> S>1) не thread-safe
>
> Это как? Одновременно загружать один и тот же объект из двух архивов?

Нет, там есть небезопасные синглтоны. Если какой-то тип впервые сериализуется одновременно из 2 разных потоков, на многопроцессорной машине оно реально может упасть.
Еще у них для xml-архивов спирит используется — для потокобезопасности которого надо определять макрос BOOST_SPIRIT_THREADSAFE, о чем в документации ни слова. Ну а если этот макрос определить, будут проблемы (при желании решаемые) со сборкой библиотеки. Впрочем, это фигня, поскольку в xml-парсере имеется рекурсивное правило, что на реальных данных иногда приводит к переполнению стека. Так что их xml-парсер я просто переписал без спирита
В общем, в серьезных проектах эту либу применять можно только после конкретной доработки напильником.
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[3]: Библиотека сериализации
От: SpiritOfNIKOPOL  
Дата: 18.10.07 16:50
Оценка:
Здравствуйте, DrDred, Вы писали:
DD>А если во чтобы то ни стало реализовывать ручками — требования хотя бы опиши, и допустимый уровень ограничений...
А что такое "допустимый уровень ограничений"?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.