天天看點

那些曾經記得的C++庫

版權聲明:本文為半吊子子全棧工匠(wireless_com,同公衆号)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/48802557

昨天有個朋友和我探讨了幾個有關C++的問題,發現自己居然還能回憶起好多東西,隻是不那麼清晰罷了。盡管現在隻是使用Object C++時和C++ 藕斷絲連,但哪些曾經用過的C++ 類庫可能隻是曾經了。

系統和網絡程式設計的C++庫

ACE,隻使用其基礎設施和class wrapper就能開發出與C語言相當的系統應用,進而的Reactor和Proactor就是利器了。

記憶體管理的C++庫

C/C++的記憶體管理是個永恒的話題,如果沒有特别的理由,應該在大型項目中使用自動記憶體管理工具。比較輕量級的是boost::smart_ptr 智能指針,重一些的實作了完整的GC機制是Hans-Boehm GC。

分布式對象中間件的C++庫

誰還記得基于corba的orbix呢? DCOM 或許還有些印象吧,C++/CLI 也支援.net framework 吧。 ICE 可能算是corba的改進版。

矩陣計算的C++庫

由于template技術的進階應用,C++也可以相對友善的應用于科學計算,MTL功能豐富,性能和成熟度都不錯。 C語言的科學算法庫也很多,如 GSL,Atlas,NR等。

配置管理的C++庫

Lua 作為配置腳本,嵌入到C/C++程式中,可以适應複雜的配置管理。

密碼及安全的C++庫

OpenSSL 應該說是業界的标杆了。

XML的C++庫

C++的xml 解析庫較多,但好像都是C語言實作的,其中基于DOM的tinyxml,基于SOAP的xerxes。

正規表達式的C++庫

正規表達式是程式設計中強有力的工具之一,C語言中有pcre,C++中boost 裡的regex 庫效率不錯。

GUI 的C++庫

Qt 是一個比較完整的可移植應用程式架構,還包含了大量工具如正則,web和socket類,2D和3D,xml解析,SQL類等,跨平台GUI的成熟度非常高。主要特色是元對象模型,實作了signal/slot機制,實際上是C++的一個擴充。