llvm安裝小結

對於像我這樣的菜鳥來說,在linux中安裝安裝一個編譯器總要有人手把手才行。本來準備今天裝好llvm在

linux中的實驗環境,然後晚上看資料開始寫 一個簡單的編譯器練練手的,但是折騰到現在才搞定。我把能

google到的東西全google了,但是發現還是沒有手把手交如何搭環境的,博客裏有一篇 轉載的llvm2.3版本的

安裝指南,但是感覺不是很細,我用的是2.6版本的,跟着做了,但是還是出現了很多問題,之後靠着我一點點

看報錯信息然後 增改東西才搞定的。下面我把在ubuntu中搭建 llvm 2.6的步驟簡單說一下吧(我用的是

ubuntu 9.10,不過這個應該關係不大):

 

安裝llvm之前必備的編譯器要有gcc、bison、flex。

 

沒有的話用apt-get命令來獲取:

sudo apt-get install gcc

sudo apt-get install bison

sudo apt-get install flex

 

安裝完這三者之後,我們開始安裝llvm 2.6

 

1. 將llvm 2.6的源碼包解壓縮到指定目錄,我是解壓縮到
    /mnt/LLVM/source-code/llvm-2.6 目錄下
    然後 sudo ./config

    ps.我之前沒有安裝gcc,結果會報錯說沒有安裝gcc

    sudo cd /mnt/LLVM/source-code/llvm-2.6

    sudo  ./configure

    sudo  make
(不安裝bison和flex這裏會報錯)

    sudo make install

2.由於2.6版本里提供了 比較完善的llvm-gcc binaries包,所以一般來講不用自己再去安裝了,只要將包裏相應的內容拷貝到/usr/local中的相關文件夾內就可以了。拷貝時,可以使用sudo cp -r 源文件夾或文件路徑 目標文件夾或文件路徑。


這樣基本就ok了。可以簡單的測試一下llvm-gcc是否裝好。


#include <stdio.h>
#include <iostream>

using namespace std;
int main()
{
    printf( "hello, the world/n" );
    cout << "this from C++" << endl;
    return 0;
}


測試步驟:
1。llvm-g++ test.cc -emit-llvm -c -o test.bc

    調用llvm-g++的編譯前端爲test.cc生成相應的LLVM bit code 文件。

    我們也可以在調用llvm-g++的過程中添加上一些額外的選項,如

    llvm-g++ --verbose test.cc -emit-llvm -c -o test.bc

    加上--verbose 以確認llvm-g++前端在編譯過程中使用的是正確的頭文件

    llvm-g++ -S test.cc --emit-llvm

    加上 -S 選項,生成 LLVM的彙編格式文件。

2。基於步驟1生成的bit code文件,我們可以調用lli 來對其解釋執行

    lli ./test.bc

3。基於步驟1生成的bit code文件,我們可以調用llvm-dis 來進行反彙編

    llvm-dis < test.bc

4。基於步驟1生成的bit code文件,我們還可以調用llc 來爲其生成本地的彙編

文件

    llc test.bc -o test.s

5。最後我們可以調用本地g++編譯器爲test.s生成本地機器碼並執行之。

    g++ test.s -o test.native

    ./test.native

 

注:上述部分內容來自《 搭建LLVM實驗環境 》一文!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章