【C++】POCO学习总结(五):功能介绍

【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/

猜你喜欢

转载自blog.csdn.net/u010168781/article/details/134541854
今日推荐