七天LLVM零基礎入門這系列文章,爲了讓剛接觸LLVM的人在最短的時間內快速的熟悉LLVM。這系列文章,如今通過將近一年的時間的使用,有了很多反饋的意見,如今將這些狀況總結一下。學習
1. 在按照這個七天的學習計劃進行的學習過程當中,很多人出現了延誤現象,主要體如今讀文檔的時候,讀的過於仔細,而後感受時間不夠用。雖然在文檔上花了很長時 間,可是到最後該用文檔中的東西的時候,反而無從下手。出現這個問題,主要仍是不會把握文檔的重點,這個系列中列出來的文檔,在往後接觸LLVM的過程 中,須要不斷的去讀,反覆的去讀。不是讀一遍就能夠徹底掌握的,在最開始讀的時候首先要熟悉文檔的主要結構,瞭解文檔裏都覆蓋了哪些內容,而後在用的時候 能夠知道在哪裏能找到,這就達到了目的。測試
特別是針對剛畢業的學生,特別容易對文檔摳的太仔細,全是新東西,花了很長時間看完了,回頭發現什麼也沒記住。這就致使既花費了時間,又沒有效果,不是在 公司實際工做中該出現的,在工做中學習東西就是爲了更快的使用,不是爲了考試,因此若是讀完了沒有收穫,那麼等於就是白讀了。優化
2. 這個系列中第五天佈置了一個練習,在第六天的時候給出了一個官方的例子。這個最初在剛開始的時候,是我天天一篇寫出來,因此不存在什麼問題。如今把整個系 列都發布了,有些讓學習這個系列的人就延續了在學校時候的作法,若是有答案是徹底不動腦子的。致使第五天的練習基本上都是抄襲第六天的LLVM的官方例子 的。這樣的狀況實在是懶得費心去避免了,在工做中學到的東西就是本身的,學不會,完不成工做任務,公司天然有公司的辦法。若是跟在學校跟老師玩貓捉老鼠的 遊戲,實在是得不償失了。遊戲
3. 學習過程當中思考太少。學習了這些內容以後,應該能夠正常的使用LLVM,而且應該對LLVM的IR有了一個基本的認識,能夠閱讀簡單的LLVM IR程序,能夠寫簡單的優化的PASS,能夠寫一些測試用例,而且應該是對LLVM有了一個總體的基本認識。可是有一些人學習完了以後,除非給他一個跟練 習如出一轍的任務,不然仍是作不了,該讀的文檔都讀了,該作的練習都作了,問題出在哪?沒有本身去思考,沒有本身去探索。編譯器的領域在計算機領域裏不是 最難的,可是也算不上是簡單的領域,若是本身不用心思考,不用心去探索,根本不可能搞精通。文檔
4.學習完成以後,覺得本身就徹底精通LLVM了,以前的文檔也不看了,平時也不在這個的學習上面花時間了。這種狀況通常出如今前面學習的還行,入 了一點門,而後就覺的本身好像突然都明白了,其實從這系列文章的題目上就能看出來,這只是入門。這系列學的再好,也就是剛剛入門。因此,後面須要學習的東 西還不少,所謂活到老學到老。後續會寫一系列的LLVM進階的文章,方便進一步探索LLVM的人,也會按照天數進行劃分。編譯器
後續一系列進階的博文名稱暫定:LLVM零基礎進階編譯