Портативная библиотека C++ для IPC (процессы и общая память), Повышение по сравнению с ACE по сравнению с Постепенно?

Мне нужна портативная библиотека C++ для того, чтобы сделать IPC. Я использовал ветвление () и общая память SysV до сих пор, но это ограничивает меня Linux/Unix. Я узнал, что существует 3 крупнейших библиотеки C++, которые предлагают портативное решение (включая Windows и Mac OS X). Я действительно люблю Повышение и хотел бы использовать его, но мне нужны процессы, и кажется, что это - только экспериментальное ответвление до сих пор!? Я никогда не слышал о ACE или ПОСТЕПЕННО прежде, и таким образом я застреваю, я не знаю который выбрать. Мне нужно ветвление (), сон () (usleep () было бы большим), и общая память, конечно. Производительность и документация являются также важными критериями.

Спасибо за помощь!

12
задан marco.m 24 July 2012 в 12:25
поделиться

1 ответ

Boost Interprocess существует со времен Boost 1.35 (что должно быть около 3 лет назад, если мне не изменяет память).

ACE существует дольше, но, судя по всему, это излишество - ACE является большой библиотекой, а вам, похоже, нужна лишь малая часть того, что она включает. Это не обязательно серьезная проблема, но ее следует иметь в виду. В частности, библиотека, которая действительно предназначена для больших проектов, может показаться (или быть) немного неуклюжей для маленьких проектов. ACE также предназначена в первую очередь для разработки сетей, с включенным IPC, потому что (например) вы можете захотеть создать то, что кажется единым сервером из нескольких взаимодействующих процессов, и если это так, то вам, очевидно, нужен способ создания этих взаимодействующих процессов.

POCO гораздо больше похож на ACE - это, по сути, сетевая библиотека, которая включает в себя некоторые возможности IPC. Опять же, вы смотрите на использование довольно маленькой части гораздо большей, более амбициозной библиотеки.

Исходя из того, что вы хотите, я бы, вероятно, использовал Boost - он кажется наиболее подходящим для того, что вы сказали, что вам нужно. POCO, вероятно, будет моим вторым выбором. Хотя он отделен от Boost, кажется, что он в основном следует схожей философии проектирования - в частности, он предназначен для интеграции со стандартной библиотекой, где ACE имеет тенденцию быть более всеобъемлющим.

8
ответ дан 2 December 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: