LINUX.ORG.RU

Разделяемая память


0

0

Знатоки девелопмента, посоветуйте хорошую либу для работы с разделяемой памятью, желательно кроссплатформенную. Qt - слишком толсто, буст - слишком наворочено, голый линуксовый апи - скучно и не ОО.

В сторону ACE не смотрел ?

DELIRIUM ★★★★★ ()

Как мы уже выяснили недавно, SysV IPC - говно. Что я, собственно, на своем опыте подтверждаю. Так что лучше старайся не использовать это. И да, своя обертка на линаксовый апи пишется за час - другой (с чтением манов). Кроссплатформенность реализуется чтением MSDN (там у тебя добавится пара вызовов). Так что написать самому - это дело пары часов.

p.S. Вопрос синхронизации доступа - отдельная тема.

MuZHiK-2 ★★★★ ()
Ответ на: комментарий от MuZHiK-2

мужик, как тогда обмениваться данными между приложениями в несколько мегабайт в реальном времени?

Pantserovik ()
Ответ на: комментарий от Pantserovik

>>мужик, как тогда обмениваться данными между приложениями в несколько мегабайт в реальном времени?

mmap? Собственно, почитай мой последний тред в этом разделе - там поднимались подобные вопросы.

MuZHiK-2 ★★★★ ()

А что тебе передавать надо?

mv ★★★★★ ()

Вот glib не толстая и в ней есть нужное тебе решение. Только вот в С есть GMappedFile, а в байндинге для С++ нету. Интерестно. Если не против пользоваться ООП в С, то это в самый раз

vertexua ★★★☆☆ ()
Ответ на: комментарий от vertexua

На С будет даже компактнее библиотека, без лишнего байндинга

GMappedFile* fl = g_mapped_file_new("hello",true,null);
gchar* buf = g_mapped_file_get_contents(gl);
gsize size = g_mapped_file_get_length(fl);
...
g_mapped_file_unref(fl);
vertexua ★★★☆☆ ()

При такой постановке вопроса, я все-таки, порекомендовал бы boost.

irq ()
Ответ на: комментарий от DELIRIUM

ACE слишком старый, там много мохнатых макросов. И если за собой таскать ACE, то, вроде бы, получится всё равно, что за собой таскать буст или Qt.

mriadus ()
Ответ на: комментарий от Pantserovik

> Это что за зверь такой?

Adaptive Communication Environment, кроссплатформенная либа для написания сетевых приложений на крестах.

http://www.eol.ucar.edu/software/ACE/ACE-tutorial.pdf http://www.cs.wustl.edu/~schmidt/ACE.html

Но вообще да, mradius, наверно, прав. Сравнимо по размером с бустом.

DELIRIUM ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.