2010-03-10 3 views
2

Я написал несколько программ моделирования на C++ и хочу подключать их выходы/входы с помощью труб (лучшим решением, вероятно, будет использование потоков C++).Сериализация по трубам

Для этого я хотел бы сериализовать некоторые объекты (например, вывод/вход моделирования - это тензоры и матрицы). Как мне решить эту проблему? Я искал вокруг в течение некоторого времени для сериализации + трубы в google, но на самом деле ничего не мог найти об этом ...

Любые советы по отправной точке? Легко ли, например, использовать boost/serialization для обмена объектами с трубами? В общем, я был бы доволен, если сериализация будет текстовой (чтобы избежать ошибок округления, я бы послал шестнадцатеричные значения, а не десятичные), поэтому я мог бы перенаправить выходные потоки в текстовые файлы, разделить их и т. Д. Также так я мог вероятно, напишите мои симуляции в разных программах ...

Thx для всех ответов!

+2

Плохая идея, конечно, вы используете значения с плавающей точкой? Перенаправление требует преобразования их в текст. Текстовое представление введет тонкие ошибки округления. Вместо этого используйте файлы, чтобы вы могли хранить данные в двоичном формате. Сэкономит вам много работы. –

+0

вы правы. Я забыл упомянуть, что думал о шестнадцатеричных значениях, а не о десятичной ... это позволило бы избежать этой проблемы. – user290494

ответ

2
+0

+1 на буферах протокола Google. Это было бы особенно полезно, если бы вы решили написать симуляцию в Java или Python. – leedm777

+0

thx .. Я не знал об этих двух библиотеках. Особенно понравилась мне библиотека Google Lloks. Думаю, что у Thrift мало документирования, а также, вероятно, в некоторой степени является излишним для моей довольно «простой» проблемы. Я думаю, что сначала попробую библиотеку google, с другой стороны, я только что понял, используя какую-то проверку, возможно, мне было бы лучше попробовать ее самостоятельно, без какой-либо сериализации. Я отправлю здесь, если это имеет смысл ... – user290494

Смежные вопросы