介绍与设计目标 ======================
cppzmq 是一个用于 libzmq 的 C++ 绑定。它具有以下设计目标:
- cppzmq 将 libzmq C API 映射到 C++ 概念。特别是:
- 它是类型安全的(libzmq C API 将各种类似于类的概念表示为 void*)
- 它提供基于异常的错误处理(libzmq C API 提供基于 errno 的错误处理)
- 它提供了 RAII 类型的类,自动管理资源(libzmq C API 需要用户明确释放资源)
- cppzmq 是一个轻量级的、只包含头文件的绑定。只需包含头文件 zmq.hpp(以及可能的 zmq_addon.hpp)即可使用它。
- zmq.hpp 旨在包含 libzmq C API 提供的抽象的直接映射,而 zmq_addon.hpp 提供了额外的高级抽象。
还存在其他针对 ZeroMQ 的 C++ 绑定,它们具有不同的设计目标。特别是,以下绑定均不是仅包含头文件:
- 仅支持 libzmq 本身支持的一部分平台。某些功能已要求支持 C++11 的编译器。未来,可能所有功能都需要 C++11。要构建和运行测试,需要 CMake 和 Catch。 - 预计任何 libzmq 4.x 版本都能正常工作。 DRAFT 功能可能仅适用于最新的测试版本。目前明确测试过的 libzmq 版本为