【C++】郭老二博文之:C++目录
1、POCO 简介
github:https://github.com/pocoproject/poco
官网:https://pocoproject.org/index.html
POCO第一个版本于 2005 年 2 月发布
POCO完全免费:POCO C++ 库根据 Boost 软件许可证获得许可。非常自由的许可证,鼓励商业和非商业使用。
使用POCO开发的开源项目:
- ClickHouse 是一个开源的面向列的数据库管理系统,能够使用SQL查询实时生成分析数据报告。
- macchina.io 物联网应用开发平台构建在POCO之上。
- Mantid 项目提供了一个支持高性能计算和材料科学数据可视化的框架。
- MQWeb 是一个基于 Web 的 Websphere MQ 管理工具,由 POCO 贡献者 Franky Braem 开发。
- openFrameworks 是一个用于创意编码的开源 C++ 工具包。
- ROS(机器人操作系统)是一个用于编写机器人软件的灵活框架。
POCO官方自我评价(王婆卖瓜自卖自夸):
- POCO使用 C++ 标准库用现代标准 ANSI C++ 编写。
- 模块化设计,很少的外部依赖,开箱即用。
- “经典”面向对象设计与现代 C++ 的完美结合。
- 干净、易于理解的代码、一致的编码风格、全面的测试套件。
2、POCO PRO
POCO PRO是付费的:POCO PRO通过附加功能、库和框架扩展了 POCO C++ 库,可在商业源代码许可下使用。适用于 C++ 的 WEB 服务、微服务、REST API等。
官网:https://pocoproject.org/pocopro.html
3、平台支持
桌面/服务器:Windows、Linux、macOS、Solaris、HP-UX、AIX
嵌入式/移动:Windows Embedded CE、嵌入式 Linux(uClibc 或 glibc)、iOS、Android、QNX、VxWorks
最低系统要求:75 MHz ARM9、8 MB RAM(嵌入式 Linux)。
4、POCO功能模块
4.1 核心功能
- 日期和时间
- 事件(信号/槽机制)和通知框架
- 正则表达式(基于PCRE)
- 在运行时动态加载共享库和类
- 智能指针和内存管理(缓冲区、池)
- 字符串格式化和字符串实用方法
- 元组tuples
- 缓存框架
4.2 压缩
- 用于基于 zlib 的压缩/解压的流
- ZIP 文件的创建和提取
4.3 加密
- 哈希加密
- X509 证书处理
- 对称RSA 加密
- 可以使用OpenSSL对流加解密
4.4 数据库
- 统一接口:可以访问不同的 SQL 数据库(SQLite、MySQL、ODBC、PostgreSQL)
- 自动数据类型映射
- 集合支持(std::vector、std::set、std::map 等)
- 记录集set和元组tuples
- 会话池
- MongoDB 和 Redis 客户端
4.5 文件系统
- 独立于平台的路径构建和操作
- 目录列表
- 通配
- 目录更改通知
- 文件属性
4.6 日志框架
- 可扩展的日志记录框架
- 具有可插入日志通道和消息格式化程序
- 控制台日志记录
- 日志文件
- 系统日志
- 远程系统日志
- Windows 事件日志服务
4.7 多线程
- 线程 和 线程同步类
- 线程池
- 工作队列
- 活动对象和活动
- 任务管理
- 计时器
4.8 网络
- 流、数据报、多播、服务器、Unix 域和原始套接字
- TCP 服务器框架(多线程)
- 反应堆(Reactor)模式服务器框架
- HTTP(S) 客户端和服务器框架
- HTTP 基本和摘要身份验证
- NTLM 身份验证
- JWT(JSON Web 令牌)支持
- 用于在HTML页面中嵌入c++代码的c++服务器页面编译器
- FTP 客户端
- 用于发送和接收电子邮件的 SMTP 和 POP3 客户端
- URI 和 UUID 处理
- HTML 表单 处理
- HTML 模板编译器
- MIME 多部分消息
- 基于 OpenSSL
- WebSocket (RFC 6455) 客户端和服务器的 SSL/TLS 支持
4.9 进程和IPC
- 启动和停止进程
- 进程同步
- 共享内存
4.10 流
- Base64 和 HexBinary 编码/解码
- 压缩 (zlib)
- 行尾转换
- 内存流文本
- 编码转换
- URI 流打开器
4.11 文本编码
- UTF-8 和 Unicode 处理
- 文本编码和转换
- 字符分类
4.12 实用工具
- 命令行和服务器应用程序的框架
- 命令行选项 处理
- 配置文件 解析
- unix 守护进程和 windows 服务
4.13 XML 和 JSON
- 基于Expat的快速XML解析
- SAX2 (XML的简单API,版本2)解析器
- DOM(文档对象模型,1-3级)解析器
- XML 编写器
- JSON 解析器和编写器
5、SDK参考手册
https://docs.pocoproject.org/current/