gSOAP一種跨平臺的C和 C++軟件開發工具包。生成C/C++的RPC代碼,XML數據綁定,對SOAP Web服務和其餘應用造成高效的具體架構解析器,它們都受益於一個XML接口。 這個工具包提供了一個全面和透明的XML數據綁定解決方案,Autocoding節省大量開發時間來執行SOAP/XML Web服務中的C/C++。此外,使用XML數據綁定大大簡化了XML自動映射。應用開發人員再也不須要調整應用程序邏輯的具體庫和XML爲中心的數據,如 交涉DOM。java
功能和特色
可移植性:gSOAP支持大多 數平臺,包括嵌入式系統和小系統(例如嵌入式Symbian,Palm)。可移植性測試Windows(98,XP,Vista),Linux,Unix 系統,Mac OS X,Solaris,HP-UX,AIX,FreeBSD,TRU64,Irix,QNX,VxWorks。
穩定性:該軟件已經成熟。自2001年以來通過幾年的發展和試驗。許多工業項目和產品都在使用該軟件。
普遍的用戶羣:自2003年以來超過150000次下載,成千上萬許可證/支持協議的公司,其中包括一些財富100強企業。
全部功能於一身的軟件包:獨立第三方工具和庫確保可靠的運行執行。
開源:可選擇自由和商業許可。
C和C++的支持:支持純粹的ANSI C和混合的C/C++應用開發。
綜合XML數據綁定: gSOAP是惟一的SOAP/XML工具包,支持一個純粹的本地的C/C++數據綁定到XML。該工具包是以自動序列指針爲基礎的數據結構。
行業標準協議: SOAP 1.1/1.2 WSDL 1.1,v2和UDDI 。支持XML架構原始XSD結構類型等等。
傳 輸:HTTP/S, TCP, UDP, MIME (SwA), DIME (streaming), MTOM (streaming), HTTP1.0/1.1, IPv4, IPv6, RSS, XML-RPC, WS-Addressing, WS-Enumeration等
安全:HTTPS和WS安全性:認證令牌,數字簽名。
速度:架構特定的編譯器生成的代碼速度快。基準測試代表速度優於最快的XML解析器。
佔用內存小:客戶端應用程序總運行內存佔用很小。內存管理使用垃圾收集,能夠自動清理。
許多例子:軟件包,包括許多代碼範例,其中包括獨立的HTTP/1.1和HTTPS安全的Web服務器。
Web服務器整合:包括Apache_mod, IIS, WinInet, CGI, FastCGI。c++
CrissCross是一種小型的跨平臺C + +庫,用於處理控制檯和文件I / O , CPU的識別( CPUID ) ,散列( MD2 , MD4 , MD5編碼,了SHA - 1 ,SHA- 256 ,SHA- 512 ,Tiger) ,Socket( TCP和目前惟一的UDP )和數據結構( LList , DArray , RedBlackTree , AVLTree , SplayTree等) 。其目的是運行在Windows , Linux , FreeBSD的, OpenBSD系統, NetBSD的, Mac OS X的,甚至是NDS 。其餘平臺可能成爲支持的請求。其主要思想是提供的能力,寫一個程序使用相同的呼籲主要平臺,而無需重寫代碼。web
Wt(音同'witty')是一個C++庫,同時也是開發和部署web應用的服務器。 Wt不是所謂框架(framework),它只是一個庫,它不會將編程方式強加於開發者。算法
Wt的API是以widget爲中心(widget-centric)的,並受到現有C++圖形用戶界面(GUI) 的應用編程接口(APIs)的啓發。Wt爲開發者提供了幾乎全部web實現細節的抽象,其中 包括事件處理和圖像支持。編程
基於頁面的web應用開發框架(Page-based frameworks),如PHP、JSP/JSF (+servlets+struts)等,沒有實現對一些最基本技術的特性的抽象,這些技術包括 HTML/XHTML、JavaScript、CSS、AJAX、 Forms、DHTML、SVG/VML/Canvas等,顯然基 於頁面的開發框架(frameworks)必需要求開發者隨時熟悉和掌握這些基本技術。另外, 當選擇某一種基本技術時(如當前流行的AJAX),開發者則要對該技術的優雅降級 (graceful degradation)負責,好比當AJAX或JavaScript已經不復存在或某些功能失效 時。同時,應用程序結構還要遵循早期HTML以頁面爲基礎的開發範式。做爲一個AJAX開 發者,這就意味着他須要手工設計和維護客戶端/服務器端的通信。設計模式
儘管開發者有時不但願,但爲了生成HTML代碼或填充HTML模板會在頁面中插入 JavaScript,如此操做則會帶來安全風險,如跨站腳本(XSS:Cross-Site-Scripting)。 可是,模板框架(template frameworks)自己沒法避免這種狀況的發生,由於開發者老是 須要插入自定義的JavaScript來提升web應用。瀏覽器
相比之下,使用Wt開發的web應用就要好許多,由於這樣的應用只使用一種編譯 語言(C++),並且生成必要的HTML/XHTML、Javascript、CGI、SVG/VML/Canvas以及 AJAX代碼的任務都交給Wt庫完成。天然地,web開發的安全性和瀏覽器可移植性問題也都 交給了Wt。另外,在可能的狀況下,Wt將最大限度地使用JavaScript和AJAX;特別 地,在不支持AJAX的狀況下,採用Wt開發的web應用仍能正常工做,由於Wt採用了 轉回普通HTML/CGI的機制(reverting to a plain HTML/CGI mechanism),保證了 瀏覽器與服務器之間的正常通信。安全
commonc++ 是一個 C++ 類庫,用於在編寫跨平臺的程序時提供統一的接口和方法。commonc++ 封裝了例如線程、信號、網絡通信、進程調度、日誌、共享內存等等的功能,以便於編寫跨平臺的C++應用程序服務器
在以下的庫支持下,開發的系統能夠很方便移植到當前大部分平臺上運行
而無需改動,只需在對應的平臺下 用你喜歡的編譯器 從新編譯便可
經典的C++庫
STLport-------SGI STL庫的跨平臺可移植版本,在之前有些編譯器離符合
標準比較遠的狀況下 那時仍是有用的,固然目前vc71已經比較接近標準了,
故目前不怎麼用它了。
Boost---------準標準庫, 功能強大 涉及能想的到的大部分非特別領域的算法,
有一個大的C++社區支持
WxWindows-----功能強大的跨平臺GUI庫 ,它的功能和結構都相似 MFC,故原則上
能夠經過WxWindows把現有MFC程序移植到非Win平臺下
Blitz---------高效率的數值計算函數庫 ,你能夠訂製補充你須要的算法
Log4cpp-------日誌處理 ,功能相似java中的log4j
ACE-----------自適應通信環境, 重量級的通信環境庫。
Crypto++ -----加/解密算法庫, 很是專業的C++ 密碼學函式庫
CppUnit --- 一個c++的單元測試框架 相似 java 的JUnit
Loki ------- 一個實驗性質的庫,嘗試把相似設計模式這樣思想層面的東西經過
庫來提供,他是C++的一個模板庫,系C++"貴族", 它把C++模板的功能發揮到了極致
學術性的C++庫:
FC++ --------The Functional C++ Library ,用庫來擴充語言的一個表明做 ,模板庫
CGAL ------- Computational Geometry Algorithms Library計算幾何方面的大部分重要的
解決方案和方法以C++庫的形式提供給工業和學術界的用戶。網絡