最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

學(xué)習(xí) C++ 編程,怎么才能找到合適的練手項目?

2022-08-20 22:05 作者:DevWeekly  | 我要投稿

如果要找C++項目,在Github上可以找到數(shù)不勝數(shù)的項目。

但是,如果要把范圍限定在“練手”,這就對項目有了更多的要求。

不能太難、也不能太簡單,此外,還要系統(tǒng)成體系,便于學(xué)習(xí)者循序漸進的接收,同時還能夠?qū)W到全面而系統(tǒng)的知識,從而達到一種提升的作用。

由于我每周都要分享《DevWeekly》系列文章,所以每天都會花費大量時間再Github上,在這個過程中接觸過數(shù)不勝數(shù)的項目。

今天,就從中抽取出幾個非常適合練手的C++項目!

1. 用LLVM實現(xiàn)一種編程語言

LLVM是一個編譯器框架,這個項目就展示了如何在C++中使用LLVM組件實現(xiàn)一個名為Kaleidoscope的簡單編程語言。

img


編輯切換為居中

添加圖片注釋,不超過 140 字(可選)

它包含如下部分:

  • Kaleidoscope介紹和Lexer

  • 實現(xiàn)解析器和AST

  • 代碼生成到LLVM IR

  • 添加JIT和優(yōu)化器支持

  • 控制流

  • 用戶定義的操作符

  • 可變的變量

  • 編譯成目標代碼

  • 添加調(diào)試信息

2. 高性能的矩陣乘法

img


編輯切換為居中

添加圖片注釋,不超過 140 字(可選)

這是一個比較小的項目,解釋了如何在現(xiàn)代處理器上編寫一個高性能的矩陣乘法程序。

3. 從零開始實現(xiàn)《太空入侵者》游戲

img


編輯

添加圖片注釋,不超過 140 字(可選)

這個項目包含了5部分,介紹了如何利用C++實現(xiàn)一款名為《太空入侵者》的游戲,循序漸進,由淺入深。

  • Part 1

  • Part 2

  • Part 3

  • Part 4

  • Part 5

4. 俄羅斯方塊

img


編輯切換為居中

添加圖片注釋,不超過 140 字(可選)

在這個項目中,將學(xué)習(xí)如何使用簡單而干凈的C++語言從頭開始創(chuàng)建一個俄羅斯方塊游戲。

項目簡單明了,從頭至尾也只需要花費一到兩個小時的時間,這是為初學(xué)者準備的完美教程。

5. 編寫一個Linux調(diào)試器

調(diào)試器是任何開發(fā)人員工具包中最有價值的工具之一。

然而,盡管這些工具被廣泛使用,但并沒有很多資源告訴你它們是如何工作的,以及如何編寫一個調(diào)試器。

在本系列文章中,可以學(xué)習(xí)調(diào)試器的工作原理,并為調(diào)試Linux程序編寫一個調(diào)試器。

  • Part 1: Setup

  • Part 2: Breakpoints

  • Part 3: Registers and memory

  • Part 4: Elves and dwarves

  • Part 5: Source and signals

  • Part 6: Source-level stepping

  • Part 7: Source-level breakpoints

  • Part 8: Stack unwinding

  • Part 9: Handling variables

  • Part 10: Advanced topics

6. 開發(fā)一款編譯器

提到編譯器、解釋器,都不陌生。

編程開發(fā)中必不可少的東西,那么編譯器是如何工作的?以及如何實現(xiàn)一款編譯器?

和前面開發(fā)調(diào)試器一樣,讓我們從一個使用者的角度切換到開發(fā)者的角度,去剖析它背后的原理,不僅能夠鍛煉C++開發(fā)能力,而且能夠更加深入的理解編譯器的原理。

  • Part 1: Introduction, selecting a language, and doing some planning

  • Part 2: A lexer

  • Part 3: A parser

  • Part 4: Testing

  • Part 5: A code generator

  • Part 6: Input and output

  • Part 7: Arrays

  • Part 8: Strings, forward references, and conclusion

我一向人為,授人以魚,不如授人以漁。項目數(shù)不勝數(shù),但是好的項目也在不斷推陳出新。

正是因為如此,我每周都會特意花費很多時間去尋找優(yōu)質(zhì)的開源項目,其中包括但不限于Python、Java、C/C++、Go、JavaScript。除此之外,還會分享開源的工具資源、優(yōu)質(zhì)技術(shù)文章,每周五定期更新,歡迎大家star并收藏:

https://github.com/Jackpopc/DevWeekly


學(xué)習(xí) C++ 編程,怎么才能找到合適的練手項目?的評論 (共 條)

分享到微博請遵守國家法律
松溪县| 河北省| 阳朔县| 石城县| 葫芦岛市| 温泉县| 潜山县| 铜山县| 林口县| 柯坪县| 永靖县| 老河口市| 屏山县| 安宁市| 正镶白旗| 墨玉县| 门头沟区| 新田县| 芦山县| 含山县| 华蓥市| 鄂尔多斯市| 尉氏县| 高密市| 中牟县| 东兴市| 哈巴河县| 荆州市| 乌拉特前旗| 自治县| 灵川县| 美姑县| 闻喜县| 西和县| 开江县| 娄烦县| 平原县| 北票市| 耿马| 始兴县| 东安县|