C++編程筆記:C++ 程序員最推薦的C

關於可借鑑的C/C++ 程序庫,我特意整理了一波與大家分享,覆蓋標準庫、名氣庫、網絡通信、字符串、線程等,希望對大家有幫助。

C/C++編程筆記:C++ 程序員最推薦的C/C++程序庫有哪些,為什麼?


內容來源:CSDN博客,原文鏈接:https://blog.csdn.net/oanqoanq/article/details/7169291,轉載請註明。

C++程序庫推薦

標準庫:標準庫中提供了C++程序的基本設施,雖然C++標準庫折騰了很多年才正式出臺,但是在標準庫的實現上卻很令人欣慰得看到多種實現,並且已被實踐證明為有工業級別強度的佳作。

Dinkumware C++ Library:P.J.Plauger編寫的高品質的標準庫,值得一提的是,其編寫的庫長期被Microsoft採用。

RogueWave Standard C++ Library:這個庫在Borland C++ Builder的早期版本中曾經被採用,後來被其他的庫給替換了。

SGI STL:SGI公司的C++標準模版庫。

STLport:SGI STL庫的跨平臺可移植版本。

C/C++編程筆記:C++ 程序員最推薦的C/C++程序庫有哪些,為什麼?


C++名氣庫推薦

Boost:總體來說是實用價值很高,質量很高的庫,現代C++的開發者必備的工具。很多Boost中的庫功能堪稱對語言功能的擴展,Boost另外一面,比如Graph這樣的庫則是具有工業強度,結構良好,非常值得研讀的精品代碼,並且也可以放心的在產品代碼中多多利用。Boost中比較有名氣的庫推薦:

Regex 正則表達式庫

Spirit LL parser framework,用C++代碼直接表達EBNF

Graph 圖組件和算法

Lambda 在調用的地方定義短小匿名的函數對象,很實用的functional功能

concept check 檢查泛型編程中的concept

Mpl 用模板實現的元編程框架

Thread 可移植的C++多線程庫

Python 把C++類和函數映射到Python之中

Pool 內存池管理

GUI :在眾多C++的庫中,GUI部分的庫算是比較繁榮,也比較引人注目的。在實際開發中,GUI庫的選擇也是非常重要的一件事情,下面我們綜述一下可選擇的GUI庫,各自的特點以及相關工具的支持。

MFC:雖然從技術角度講,MFC是不大漂亮的,但是它構建於Windows API之上,能夠使程序員的工作更容易,編程效率高。

QT:多平臺的C++圖形用戶界面應用程序框架,提供給應用程序開發者建立藝術級的圖形用戶界面所需的所用功能。

WxWindows:

跨平臺的GUI庫。因為其類層次極像MFC。

C/C++編程筆記:C++ 程序員最推薦的C/C++程序庫有哪些,為什麼?

網絡通信

ACE:C++庫的代表,超重量級的網絡通信開發框架,可跨越多種平臺完成通用的通信軟件任務。

StreamModule:設計用於簡化編寫分佈式程序的庫。嘗試著使得編寫處理異步行為的程序更容易,而不是用同步的外殼包起異步的本質。

SimpleSocket:基於socket的客戶/服務器程序更加容易。

A Stream Socket API for C++:又一個對Socket的封裝庫。

線程

C++ Threads:這個庫的目標是給程序員提供易於使用的類,這些類被繼承以提供在Linux環境中很難看到的大量的線程方面的功能。

ZThreads:跨平臺的C++線程和同步庫。

字符串

C++ Str Library:操作字符串和字符的庫,支持Windows和支持gcc的多種平臺。

Common Text Transformation Library:解析和修改STL字符串的庫。

GRETA:由微軟研究院的研究人員開發的處理正則表達式的庫,在小型匹配的情況下有非常優秀的表現。

C/C++編程筆記:C++ 程序員最推薦的C/C++程序庫有哪些,為什麼?


C語言開源項目:

Webbench:在Linux下使用的非常簡單的網站壓測工具,使用C語言編寫, 代碼超級簡潔,源碼加起來幾乎不到600行。

Tinyhttpd:

超輕量型Http Server,C語言開發,附帶簡單的Client,可通過閱讀這段代碼理解一個 Http Server 的本質。

cJSON:C語言中的一個JSON編解碼器,非常輕量級,速度非常理想。結構簡單易懂,可以作為一個非常好的C語言項目進行學習。

CMockery:Google發佈的用於C單元測試的一個輕量級的框架。它很小巧,對其他開源包沒有依賴,對被測試代碼侵入性小。

Libev:基於Reactor模式,效率較高,並且代碼精簡,是學習事件驅動編程的很好的資源。

Memcached:Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。

Lua:在任何支持ANSI C編譯器的平臺上都可以輕鬆編譯通過。

SQLite:SQLite是一個開源的嵌入式關係數據庫,實現自包容、零配置、支持事務的SQL數據庫引擎。

NETBSD:NetBSD是一個免費的,具有高度移植性的 UNIX-like 操作系統,是現行可移植平臺最多的操作系統。


C/C++編程筆記:C++ 程序員最推薦的C/C++程序庫有哪些,為什麼?

想要在程序員生涯內有更高的成就的話,最最重要的是儘可能的提升自己的編程能力,並且,與其想著怎麼去提升,不如從現在開始動手動腦,如果對於C/C++感興趣的話,可以關注+私信小編【編程交流】有一些視頻希望可以幫助到你,學習不怕從零開始,就怕從不開始。


分享到:


相關文章: