七天LLVM零基礎入門(Linux版本)------第一天
阿新 • • 發佈:2019-01-30
開篇語:
學習LLVM的過程是一個漫長而艱鉅的過程,需要大量的時間和精力。不僅僅如此,開始的過程也不輕鬆。一個好的開始就是成功的一半。我結合了自己學習的過程,以及給別人推薦學習的過程,整理出了這個七天LLVM零基礎入門的系列部落格。主要的目標是讓沒有LLVM基礎的人,經過這一系列的學習,可以完成一些Pass的工作,並且可以成功的自己去自主學習,知道自己該怎麼學習,知道自己該去學些什麼。如果你有什麼建議,歡迎反饋,歡迎探討。
第一步,要對LLVM有一個初步的印象
這裡,http://llvm.org/ 是LLVM的官方網站,如果英語足夠好,又有足夠的耐心,從這裡可以找到你想要的一切。
第二步,看看LLVM到底是什麼
我們對LLVM有了一個初步的印象之後,我們還是不知道LLVM具體是什麼,那麼我們就來看一下。
從
LLVM source code
Clang source code
Compiler RT source code
這三項進行下載,下載後進行解壓,解壓後應該得到三個名字分別為llvm-3.2.src、clang-3.2.src、compiler-rt-3.2.src。這時候,需要對這三個資料夾進行重新命名,llvm-3.2.src重新命名可以根據自己習慣,此處推薦重新命名為llvm-3.2;clang-3.2.src重新命名為clang,並且將此資料夾整體放到llvm-3.2/tools下,包含clang這個頂層資料夾;compiler-rt-3.2.src重新命名為compiler-rt,並且將包含頂層資料夾的整體資料夾放到llvm-3.2/projects/下。
此時,開啟一個終端,切換到llvm-3.2目錄下,依次輸入如下命令:
mkdir build
cd build
cmake ../
make
然後就可以在llvm-3.2/build/bin目錄下看到一大堆的可執行檔案。(此處不使用make install是方便在系統上使用多版本的llvm進行研究和修改。)
這個時候可以執行如下命令,來看看clang:
./clang -v
./clang -help
可以寫一個簡單的helloworld程式,使用clang進行編譯,使用方法和gcc相同:
./clang hello.c
./a.out
第三步:clang是什麼
我們剛才編譯出來了自己的LLVM,但是我們使用的確是clang。clang到底是什麼,我們接下來就來看看:
這是官方對clang的簡要介紹。
也可參加我之前的博文: http://blog.csdn.net/snsn1984/article/details/8232943 這裡簡要的介紹了clang的相關知識。
到這個時候,應該可以熟練的使用clang去編譯自己的程式了。
-------------------------------------轉載請註明出處。--------------------------------------------------