
我們學習每一個編程語言都是有一個項目實戰的過程,而對于開發類的編程語言,除了適當的做項目程序外,學習了解其他的開源項目更是一個關鍵,就比如我們的C/C++編程語言的學習。
前陣子有一個小伙伴就問到我,我學好C/C++基礎后,應該怎么找一些適合C/C++提升的開源項目學習一下,讓我推薦一下,我想了一下,又上網參考了一下,就給他列舉了一些,順便記下來,分享給各位在學習C/C++的小伙伴,希望能夠幫助到大家!

Webbench是一個在linux下使用的非常簡單的網站壓測工具。它使用fork()模擬多個客戶端同時訪問我們設定的URL,測試網站在壓力下工作的性能,最多可以模擬3萬個并發連接去測試網站的負載能力。Webbench使用C語言編寫, 代碼實在太簡潔,源碼加起來不到600行。下載鏈接:GitHub - EZLippi/WebBench
Tinyhttpd是一個超輕量型Http Server,使用C語言開發,全部代碼只有502行(包括注釋),附帶一個簡單的Client,可以通過閱讀這段代碼理解一個 Http Server 的本質。下載鏈接鏈接:GitHub - EZLippi/Tinyhttpd
高性能web服務器nginx: download
C語言寫的事件驅動框架libevent/libevent · GitHub
ACE:C++面向對象網絡變成工具包
Boost.Asio:用于網絡和底層I/O編程的跨平臺的C++庫
Casablanca:C++ REST SDK
cpp-netlib:高級網絡編程的開源庫集合
Dyad.c:C語言的異步網絡
libcurl :多協議文件傳輸庫
Mongoose:非常輕量級的網絡服務器
Muduo :用于Linux多線程服務器的C++非阻塞網絡庫
net_skeleton :C/C++的TCP 客戶端/服務器庫

nope.c :基于C語言的超輕型軟件平臺,用于可擴展的服務器端和網絡應用。 對于C編程人員,可以考慮node.js
Onion :C語言HTTP服務器庫,其設計為輕量級,易使用。
POCO:用于構建網絡和基于互聯網應用程序的C++類庫,可以運行在桌面,服務器,移動和嵌入式系統。
RakNet:為游戲開發人員提供的跨平臺的開源C++網絡引擎。
Tuf o :用于Qt之上的C++構建的異步Web框架。
WebSocket++ :基于C++/Boost Aiso的websocket 客戶端/服務器庫
ZeroMQ :高速,模塊化的異步通信庫
這個網站整理的比較全,可以看看ezlippi.com 的頁面另外編寫高性能web服務器當然離不開緩存啦,可以關注下Redis和Memcached.
最后,學了C/C++,走遍天下都不怕!加油吧!未來的C/C++工程師!另外,關于提升C/C++編程能力以及問題交流的話,可以到訪q群--先5692;后68376,歡迎一起進步!