學習一個框架前,要先明白它的是什麼,爲何,怎麼用.下面這些文字,是從中文poco官網上轉過來的,正如poco c++庫的特色,很是清晰,代碼風格更是一目瞭然.c++
poco開發庫的特色,很是適合寫後臺處理程序,效率也是很高的.前臺界面程序使用Qt框架庫,很是好,兩個庫相輔相成,可解決項目上的大部分問題.正則表達式
一 概述算法
一系列C++類庫,相似Java類庫,.Net框架,Apple的Cocoa;數據庫
側重於互聯網時代的網絡應用程序編程
使用高效的,現代的標準ANSI/ISO C++,並基於STL緩存
高可移值性,並可在多個平臺下可用服務器
開源,並使用Boost Software License發佈網絡
無論是否商用,都徹底免費多線程
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幫助你建立跨平臺的應用程序(一次編寫,多平臺編譯和運行)
模塊化和可擴展,可應用於嵌入式到企業級程序
提供全面,易懂的編程接口
使用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
建立自動化的中間件和設備
工業自動化和工業設備
流量控制系統
健康系統
測量,數據收集和測試系統
消費電子產品和家庭自動化產品
測量
航空交通管理系統
VoIP
票務和入口控制系統
包裝應用程序
全面的,完整的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).
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) 客戶和服務器
進程啓停
進程間同步
共享內存
Base64 和 HexBinary 編解碼
壓縮(zlib)
行結束符車換
內存stream
文本編碼轉換
URI流讀取
支持UTF-8 和 Unicode
文本編碼和轉換
字符分類
支持命令行和服務器程序框架
命令行參數解析器
配置文件解析
支持Unix和Windows後臺服務
基於 Expat 的XML解析
SAX2 (Simple API for XML, version 2) 解析器
DOM (Document Object Model, Level 1-3) 解析器
XML生成器