學(xué)習(xí) C++ 編程,怎么才能找到合適的練手項目?
但是,如果要把范圍限定在“練手”,這就對項目有了更多的要求。
不能太難、也不能太簡單,此外,還要系統(tǒng)成體系,便于學(xué)習(xí)者循序漸進的接收,同時還能夠?qū)W到全面而系統(tǒng)的知識,從而達到一種提升的作用。
由于我每周都要分享《》系列文章,所以每天都會花費大量時間再Github上,在這個過程中接觸過數(shù)不勝數(shù)的項目。
今天,就從中抽取出幾個非常適合練手的C++項目!
1.
LLVM是一個編譯器框架,這個項目就展示了如何在C++中使用LLVM組件實現(xiàn)一個名為Kaleidoscope的簡單編程語言。

編輯切換為居中
添加圖片注釋,不超過 140 字(可選)
它包含如下部分:
Kaleidoscope介紹和Lexer
實現(xiàn)解析器和AST
代碼生成到LLVM IR
添加JIT和優(yōu)化器支持
控制流
用戶定義的操作符
可變的變量
編譯成目標代碼
添加調(diào)試信息
2.

編輯切換為居中
添加圖片注釋,不超過 140 字(可選)
這是一個比較小的項目,解釋了如何在現(xiàn)代處理器上編寫一個高性能的矩陣乘法程序。
3. 從零開始實現(xiàn)《太空入侵者》游戲

編輯
添加圖片注釋,不超過 140 字(可選)
這個項目包含了5部分,介紹了如何利用C++實現(xiàn)一款名為《太空入侵者》的游戲,循序漸進,由淺入深。
4.

編輯切換為居中
添加圖片注釋,不超過 140 字(可選)
在這個項目中,將學(xué)習(xí)如何使用簡單而干凈的C++語言從頭開始創(chuàng)建一個俄羅斯方塊游戲。
項目簡單明了,從頭至尾也只需要花費一到兩個小時的時間,這是為初學(xué)者準備的完美教程。
5.
調(diào)試器是任何開發(fā)人員工具包中最有價值的工具之一。
然而,盡管這些工具被廣泛使用,但并沒有很多資源告訴你它們是如何工作的,以及如何編寫一個調(diào)試器。
在本系列文章中,可以學(xué)習(xí)調(diào)試器的工作原理,并為調(diào)試Linux程序編寫一個調(diào)試器。
6.
提到編譯器、解釋器,都不陌生。
編程開發(fā)中必不可少的東西,那么編譯器是如何工作的?以及如何實現(xiàn)一款編譯器?
和前面開發(fā)調(diào)試器一樣,讓我們從一個使用者的角度切換到開發(fā)者的角度,去剖析它背后的原理,不僅能夠鍛煉C++開發(fā)能力,而且能夠更加深入的理解編譯器的原理。
我一向人為,授人以魚,不如授人以漁。項目數(shù)不勝數(shù),但是好的項目也在不斷推陳出新。
正是因為如此,我每周都會特意花費很多時間去尋找優(yōu)質(zhì)的開源項目,其中包括但不限于Python、Java、C/C++、Go、JavaScript。除此之外,還會分享開源的工具資源、優(yōu)質(zhì)技術(shù)文章,每周五定期更新,歡迎大家star并收藏: