Poco C++庫簡介
poco開發庫的特點,非常適合寫後臺處理程式,效率也是很高的.前臺介面程式使用Qt框架庫,非常好,兩個庫相輔相成,可解決專案上的大部分問題.
一 概述
Poco C++庫是:
-
一系列C++類庫,類似Java類庫,.Net框架,Apple的Cocoa;
-
側重於網際網路時代的網路應用程式
-
使用高效的,現代的標準ANSI/ISO C++,並基於STL
-
高可移值性,並可在多個平臺下可用
-
開源,並使用Boost Software License釋出
-
不管是否商用,都完全免費
Poco庫概覽
特性:
-
DynamicAny與Any類
-
Cache框架
-
基於OpenSSL的密碼系統
-
日期,時間類庫
-
事件和通知框架
-
FTP客戶端
-
跨平臺的檔案系統類庫
-
HTML表單類庫
-
HTTP客戶端和服務端(支援SSL),C++ 伺服器頁面編譯器
-
日誌框架
-
多執行緒框架(執行緒池,活動物件,工作佇列等)
-
POP3客戶端類庫
-
跨平臺,一次編寫,多平臺編譯和執行
-
程序管理和程序間通訊類庫
-
反射框架
-
基於PCRE的正則表示式
-
SMTP客戶端類庫
-
資料庫訪問類庫(SQLite,MySQL, ODBC)
-
支援SSL/TLS,基於OpenSSL
-
動態類庫載入
-
先進的記憶體和指標管理(Buffer, Pool)
-
Socket類庫
-
網路資料流類庫,支援Base64,HexBinary編解碼,壓縮等等
-
字串格式化和其它字串工具類庫
-
TCP伺服器框架(多執行緒)
-
文字編碼和轉換
-
Tuples
-
URI支援
-
支援UTF8和Unicode編碼
-
UUID生成器
-
XML生成和解析器
-
Zip檔案操作類庫
Poco的使命
-
Poco是一個強大的類庫,並易於構建自己的應用程式
-
Poco幫助你建立跨平臺的應用程式(一次編寫,多平臺編譯和執行)
-
模組化和可擴充套件,可應用於嵌入式到企業級程式
-
提供全面,易懂的程式設計介面
-
使用C++語言,快速且高效
-
Poco崇尚簡易
-
在設計,程式碼風格和文件上保持一致
-
Poco強調程式碼質量,包括可讀性,綜合性,一致性,編碼風格和可測試性
-
Poco使得C++程式設計更加容易
指導方針
-
高度關注程式碼質量,編碼風格,一致性,可讀性
-
高度關注測試
-
注重實用性
-
基於現有的,可靠的元件開發
版本歷史
-
Summer 2004: Günter Obiltschnig started development
-
February 2005: First release on SourceForge
-
(Release 0.91 under Sleepycat license)
-
May 2005: First contributions by Aleksandar Fabijanic
-
January 2006: Release 1.0
-
March 2006: Release 1.1
-
July 2006: Moved to Boost license, POCO Community Website
-
August 2006: Release 1.2
-
May 2007: Release 1.3
-
July 2010: Stable Release 1.3.7,
-
about 20 contributors, used in 100s of projects
支援平臺
-
Microsoft Windows
-
Linux
-
Mac OS X
-
HP-UX, Solaris, AIX*
-
Embedded Linux (uClibc, glibc)
-
iOS
-
Windows Embedded CE
-
QNX
Poco應用場景
-
建立自動化的中介軟體和裝置
-
工業自動化和工業裝置
-
流量控制系統
-
健康系統
-
測量,資料收集和測試系統
-
消費電子產品和家庭自動化產品
-
測量
-
航空交通管理系統
-
VoIP
-
票務和入口控制系統
-
包裝應用程式
Poco的優勢
-
全面的,完整的C++框架,可減少開發工作,快速讓產品走向市場
-
易學易使用,以及相當多的示例程式碼和良好的文件
-
原生的C++程式碼,效能優秀,低記憶體佔用
-
平臺無關,一處編寫,跨平臺編譯和執行
-
大多數情況下,可以開發機上完成開發和除錯工作
-
可以非常容易的遷移到新平臺
-
設計 & 實現
基於現代的、標準的ANSI C++編寫,使用C++ STL庫。模組化設計,極少的外部依賴,易於編譯和使用。結合傳統的面向物件與現代的C++設計,程式碼易讀,程式碼風格統一,以及相當全面的測試用例。
支援平臺
-
桌面/伺服器: Windows, Linux, Mac OS X, Solaris, HP-UX, AIX
-
嵌入式系統: Windows Embedded CE, Embedded Linux (uClibc or glibc), iOS, QNX, VxWorks, Android
-
最低系統要求: 75 MHz ARM9, 8 MB RAM (Embedded Linux).
License
-
Boost Software License 1.0
核心特性
-
支援Any 和 DynamicAny 的動態型別
-
提供快取框架
-
日期和時間
-
事件與通知框架
-
(libPoco.com翻譯,轉載請註明)
-
基於PCRE的正則表示式
-
動態庫載入
-
完美的指標和記憶體管理 (buffer, pool)
-
字串格式化和工具
-
tuples
壓縮
-
基於zlib的壓縮/解壓類
-
建立和解壓ZIP檔案
加密
-
支援多種hash演算法
-
支援X509數字證書
-
對稱的和 RSA演算法
-
支援streams加解密
-
基於OpenSSL
資料庫
-
不同的資料庫提供了統一的訪問介面(SQLite, MySQL, ODBC)
-
自動資料型別匹配
-
支援集合類 (std::vector, std::set, std::map, etc.)
-
支援記錄集和tuples
-
支援連線池
檔案系統
-
跨平臺的檔案路徑操作
-
目錄列表
-
萬用字元支援
-
檔案屬性管理
日誌
-
可擴充套件的日誌框架,可拔插的日誌通道和訊息格式化
-
日誌可輸出到終端,日誌檔案,syslog,遠端syslog,Windows事件服務
多執行緒
-
執行緒和執行緒同步類庫
-
執行緒池
-
工作佇列
-
活動物件
-
任務管理
-
定時器
網路
-
流,資料報,多播,伺服器和原生socket.
-
TCP伺服器框架(多執行緒)
-
反射伺服器框架
-
HTTP(S)客戶和伺服器框架
-
HTTP認證
-
CSP(C++ Server Page)編譯器
-
FTP客戶端
-
SMTP和POP3客戶端
-
(libPoco.com翻譯,轉載請註明)
-
支援URI, UUID
-
HTML表單處理
-
MIME支援
-
基於 OpenSSL支援SSL/TLS
-
WebSocket (RFC 6455) 客戶和伺服器
程序管理和 IPC
-
程序啟停
-
程序間同步
-
共享記憶體
流
-
Base64 和 HexBinary 編解碼
-
壓縮(zlib)
-
行結束符車換
-
記憶體stream
-
文字編碼轉換
-
URI流讀取
文字編碼
-
支援UTF-8 和 Unicode
-
文字編碼和轉換
-
字元分類
工具類
-
支援命令列和伺服器程式框架
-
命令列引數解析器
-
配置檔案解析
-
支援Unix和Windows後臺服務
XML
-
基於 Expat 的XML解析
-
SAX2 (Simple API for XML, version 2) 解析器
-
DOM (Document Object Model, Level 1-3) 解析器
-
XML生成器