Я не понимаю стратегию репо Zeromq - PullRequest
0 голосов
/ 05 февраля 2019

Кажется, что zeromq (https://github.com/zeromq/libzmq) написан на C ++, но также предоставляет отдельные привязки для C ++ (https://github.com/zeromq/cppzmq).

). Когда libzmq настроен, он предоставляет только эти файлы в своем каталоге сборки:

libunity.a  libzmq.a  libzmq.so  libzmq.so.5  libzmq.so.5.2.2

и без заголовочных файлов.

В чем преимущество предоставления привязок и библиотек в отдельных репозиториях? Даже если существует много привязок, не всегда должен быть набор стандартных привязоквключено

1 Ответ

0 голосов
/ 05 апреля 2019

ZMQ реализован на C ++, но не предоставляет класс.API находится в C с функцией zmq_send, zmq_poll и т. Д., Принимающей void * параметры для сокета и контекста.

cppzmq - это привязка C ++ к libzmq, которая в основном определяет класс, поэтому вместо записи: int zmq_send (void *s_, const void *buf_, size_t len_, int flags_); вы напишите:

zmq::socket_t s; s.send(zmq::message_t);

Это позволяет использовать объектно-ориентированный дизайн и делает синтаксис чище и яснее (IMO).

...