日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LLVM(Low Level Virtual Machine)

發布時間:2024/4/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LLVM(Low Level Virtual Machine) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LLVM(低級虛擬機):編譯器架構

(1)前端: ?源代碼==靜態編譯==>中間碼

(2)后端: ?中間碼==運行時動態編譯(非解釋)==>機器碼


能夠使C/C++跨平臺



LLVM從本質上來說,它不是一個編譯器.它是一個編譯器的架構.通俗的來說,它實現了一個庫,在這個庫上,可以很容易的實現不同的編譯相關的程序,當然,編譯器自然是其中最重要的一個. 當然其他像編譯時間的代碼分析也是很容易實現的。

LLVM定義了一個虛擬機的語言。然后再這個語言的基礎上,實現了很多的功能,例如大多數的優化都是基于這個虛擬機的語言來進行的。(這是和GCC很大的 不同,我想也是delphij提到的更好的優化的原因.) 你可以這么理解,LLVM就是建立了很多個積木塊,寫編譯器就是搭積木。

LLVM-GCC就是一個積木塊,它把C代碼編譯成LLVM的語言。

LLVM-GCC 模塊 => LLVM CODE?
-> optimize?
-> xxxx 不同的積木塊?
x86代碼生成模塊binary <=

這樣,我們寫兩個積木就實現了一個編譯器。如果要不同的平臺,我們換最后那個。不同的語言,我們換第一個。

另外,我認為這是一個趨勢。微軟的phoeni項目和LLVM是非常的類似的。

總結

以上是生活随笔為你收集整理的LLVM(Low Level Virtual Machine)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。