https://blog.csdn.net/junkie0901/article/details/44679837php
==================================================html
(1)ACEnode
龐大、複雜,適合大型項目。開源、免費,不依賴第三方庫,支持跨平臺。python
http://www.cs.wustl.edu/~schmidt/ACE.htmlmysql
(2)Asioreact
Asio基於Boost開發的異步IO庫,封裝了Socket,簡化基於socket程序的開發。linux
開源、免費,支持跨平臺。c++
(3)POCOgithub
POCO C++ Libraries 提供一套 C++ 的類庫用以開發基於網絡的可移植的應用程序,功能涉及線程、線程同步、文件系統訪問、流操做、共享庫和類加載、套接字以及網絡協議包括:HTTP、 FTP、SMTP 等;其自己還包含一個 HTTP 服務器,提供 XML 的解析和 SQL 數據庫的訪問接口。POCO庫的模塊化、高效的設計及實現使得POCO特別適合嵌入式開發。在嵌入式開發領域,因爲C++既適合底層(設備I/O、中斷處理等)和高層面向對象開發,愈來愈流行。
(4)libevent
Libevent是一個輕量級的開源高性能網絡庫,從它的官網標題:libevent-an event notification library就能知道它的機制是採用事件觸發,封裝瞭如下三種事件的響應:IO事件,定時器事件,信號事件。select模型來實現跨平臺的操做,Windows環境下支持IOCP。
(5)libev
libev和libevent很像,按照做者的介紹,能夠做爲libevent的替代者,可以提供更高的性能。
libev是一個高性能事件循環,所實現的功能就是一個強大的reactor。
http://software.schmorp.de/pkg/libev.html
(6)c++ sockets library
封裝了sockets C API的C++類庫。
支持SSL, IPv6, tcp 和 udp sockets, sctp sockets, http協議, 高度可定製的錯誤處理。
(7)libcurl
libcurl是免費的輕量級的客戶端網絡庫,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet, TFTP. 支持SSL, HTTP POST, HTTP PUT, FTP上傳, HTTP form上傳,代理,cookies, 用戶名與密碼認證。
若是你開發的是客戶端,libcurl是一個不錯的選擇。
Webbench是一個在linux下使用的很是簡單的網站壓測工具。它使用fork()模擬多個客戶端同時訪問咱們設定的URL,測試網站在壓力下工做的性能,最多能夠模擬3萬個併發鏈接去測試網站的負載能力。Webbench使用C語言編寫, 代碼實在太簡潔,源碼加起來不到600行。
下載連接:http://home.tiscali.cz/~cz210552/webbench.html
tinyhttpd是一個超輕量型Http Server,使用C語言開發,所有代碼只有502行(包括註釋),附帶一個簡單的Client,能夠經過閱讀這段代碼理解一個 Http Server 的本質。
下載連接:http://sourceforge.net/projects/tinyhttpd/
cJSON是C語言中的一個JSON編解碼器,很是輕量級,C文件只有500多行,速度也很是理想。
cJSON也存在幾個弱點,雖然功能不是很是強大,但cJSON的小身板和速度是最值得讚揚的。其代碼被很是好地維護着,結構也簡單易懂,能夠做爲一個很是好的C語言項目進行學習。
項目主頁:http://sourceforge.net/projects/cjson/
cmockery是google發佈的用於C單元測試的一個輕量級的框架。它很小巧,對其餘開源包沒有依賴,對被測試代碼侵入性小。cmockery的源代碼行數不到3K,你閱讀一下will_return和mock的源代碼就一目瞭然了。
主要特色:
下載連接:http://code.google.com/p/cmockery/downloads/list
libev是一個開源的事件驅動庫,基於epoll,kqueue等OS提供的基礎設施。其以高效出名,它能夠將IO事件,定時器,和信號統一塊兒來,統一放在事件處理這一套框架下處理。基於Reactor模式,效率較高,而且代碼精簡(4.15版本8000多行),是學習事件驅動編程的很好的資源。
下載連接:http://software.schmorp.de/pkg/libev.html
Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它經過在內存中緩存數據和對象來減小讀取數據庫的次數,從而提供動態數據庫驅動網站的速度。Memcached 基於一個存儲鍵/值對的 hashmap。Memcached-1.4.7的代碼量仍是能夠接受的,只有10K行左右。
Lua很棒,Lua是巴西人發明的,這些都令我不爽,可是還不至於臉紅,最多眼紅。
讓我臉紅的是Lua的源代碼,百分之一百的ANSI C,一點都不摻雜。在任何支持ANSI C編譯器的平臺上均可以輕鬆編譯經過。我試過,真是一點廢話都沒有。Lua的代碼數量足夠小,5.1.4僅僅1.5W行,去掉空白行和註釋估計能到1W行。
下載地址:http://www.lua.org/
SQLite是一個開源的嵌入式關係數據庫,實現自包容、零配置、支持事務的SQL數據庫引擎。 其特色是高度便攜、使用方便、結構緊湊、高效、可靠。足夠小,大體3萬行C代碼,250K。
下載地址:http://www.sqlite.org/ 。
UNIX V6 的內核源代碼包括設備驅動程序在內 約有1 萬行,這個數量的源代碼,初學者是可以充分理解的。有一種說法是一我的所能理解的代碼量上限爲1 萬行,UNIX V6的內核源代碼從數量上看正好在這個範圍以內。看到這裏,你們是否是也有「若是隻有1萬行的話沒準兒我也能學會」的想法呢?
另外一方面,最近的操做系統,例如Linux 最新版的內核源代碼聽說超過了1000 萬行。就算不是初學者,想徹底理解所有代碼基本上也是不可能的。
下載地址:http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6
NetBSD是一個免費的,具備高度移植性的 UNIX-like 操做系統,是現行可移植平臺最多的操做系統,能夠在許多平臺上執行,從 64bit alpha 服務器到手持設備和嵌入式設備。NetBSD計劃的口號是:」Of course it runs NetBSD」。它設計簡潔,代碼規範,擁有衆多先進特性,使得它在業界和學術界廣受好評。因爲簡潔的設計和先進的特徵,使得它在生產和研究方面,都有卓越的表現,並且它也有受使用者支持的完整的源代碼。許多程序均可以很容易地經過NetBSD Packages Collection得到。
關於 C++ 框架、庫和資源的一些彙總列表,內容包括:標準庫、Web應用框架、人工智能、數據庫、圖片處理、機器學習、日誌、代碼分析等。
C++標準庫,包括了STL容器,算法和函數等。
C++通用框架和庫
音頻,聲音,音樂,數字化音樂庫
生物信息,基因組學和生物技術
壓縮和歸檔庫
併發執行和多線程
數據庫,SQL服務器,ODBC驅動程序和工具
調試庫, 內存和資源泄露檢測,單元測試
動力學仿真引擎
XML就是個垃圾,xml的解析很煩人,對於計算機它也是個災難。這種糟糕的東西徹底沒有存在的理由了。-Linus Torvalds
一些有用的庫或者工具,可是不適合上面的分類,或者尚未分類。
用於建立開發環境的軟件
C/C++編譯器列表
在線C/C++編譯器列表
C/C++調試器列表
C/C++集成開發環境列表
提升質量,減小瑕疵的代碼分析工具列表