欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

LLVM 與 Clang 介紹 — LinuxTOY

系統 3004 0

LLVM 與 Clang 介紹 — LinuxTOY

LLVM 是 Low Level Virtual Machine
的簡稱,這個庫提供了與編譯器相關的支持,能夠進行程序語言的編譯期優化、鏈接優化、在線編譯優化、代碼生成。簡而言之,可以作為多種語言編譯器的后臺來使用。如果這樣還比較抽象的話,介紹下 Clang 就知道了:Clang 是一個 C++ 編寫、基于 LLVM、發布于 LLVM BSD 許可證下的
C/C++/Objective C/Objective C++ 編譯器,其目標(之一)就是超越 GCC。 ?

Clang 開發事出有因,Wiki 介紹如下:

Apple 使用 LLVM 在不支持全部 OpenGL 特性的 GPU (Intel 低端顯卡) 上生成代碼 (JIT),令程序仍然能夠正常運行。之后 LLVM 與 GCC 的集成過程引發了一些不快,GCC 系統龐大而笨重,而 Apple 大量使用的 Objective-C 在 GCC 中優先級很低。此外 GCC 作為一個純粹的編譯系統,與 IDE 配合很差。加之許可證方面的要求,Apple 無法使用修改版的 GCC 而閉源。于是 Apple 決定從零開始寫 C family 的前端,也就是基于 LLVM 的 Clang 了。

Clang 的特性:

  1. 快:通過編譯 OS X 上幾乎包含了所有 C 頭文件的 carbon.h 的測試,包括預處理 (Preprocess),語法 (lex),解析 (parse),語義分析 (Semantic Analysis),抽象語法樹生成 (Abstract Syntax Tree) 的時間,Clang 是 Apple GCC 4.0 的 2.5x 快。(2007-7-25)
  2. 內存占用?。篊lang 內存占用是源碼的 130%,Apple GCC 則超過 10x。
  3. 診斷信息可讀性強:我不會排版,推薦去 網站 觀看。其中錯誤的語法不但有源碼提示,還會在錯誤的調用和相關上下文的下方有~~~~~和^的提示,相比之下 GCC 的提示很天書。
  4. GCC 兼容性。
  5. 設計清晰簡單,容易理解,易于擴展增強。與代碼基礎古老的 GCC 相比,學習曲線平緩。
  6. 基于庫的模塊化設計,易于 IDE 集成及其他用途的重用。由于歷史原因,GCC 是一個單一的可執行程序編譯器,其內部完成了從預處理到最后代碼生成的全部過程,中間諸多信息都無法被其他程序重用。Clang 將編譯過程分成彼此分離的幾個階段,AST 信息可序列化。通過庫的支持,程序能夠獲取到 AST 級別的信息,將大大增強對于代碼的操控能力。對于 IDE 而言,代碼補全、重構是重要的功能,然而如果沒有底層的支持,只使用 tags 分析或是正則表達式匹配是很難達成的。

當然,GCC 也有其優勢:

相信介紹到這里大家能夠對 Clang 和 LLVM 有所了解了。除去 Clang 之外,LLVM
還被用在 Gallium3D 中進行 JIT 優化,Xorg 中的 pixman 也有考慮使用 LLVM
來優化執行速度, llvm-lua 使用 LLVM 來編譯
Lua 代碼, gpuocelot 使用 LLVM 可以令 CUDA 程序無需重新編譯即可運行在多核 X86CPU、IBM Cell、支持 OpenCL 的設備之上...
我個人感覺 Apple 在開源界口碑較差(也許是我的錯覺?),不過 Apple 也為開源界貢獻了不少,Webkit,OpenCL(雖說只是個標準),Clang。我最為佩服的是雖然出身于命令行之上的 Unix 族系統,但有魄力寫出自成體系的圖形棧,其圖形界面優美而人性化,可謂也為開源界貢獻了自己的精神與思想。
對于 Clang 這個很有潛力的項目,我希望其 C++ 支持(尤其是 template 支持)能夠早日完善。因為 GCC 在 template 出錯時的診斷信息如同小說一般...

{ Thanks guest. }

LLVM 與 Clang 介紹 — LinuxTOY


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 情侣av| 国产精品亚洲天堂 | 亚洲视频国产一区 | 日本无码少妇波多野结衣 | 伊人艹 | 久久美女网 | 手机在线观看亚洲国产精品 | 无遮挡羞羞视频 | 欧美一进一出 | 欧美日韩在线一区二区三区 | 日本免费视频在线观看 | 日韩一区二区在线视频 | 一区二区三区免费看 | 大香伊蕉国产短视频69 | 国产裸体bbb视频 | 日韩欧美大片在线观看 | 国产精品一卡二卡三卡 | 久9久9精品视频在线观看 | 成人在线精品 | 国内精品免费视频 | 不卡一二区 | 黄色大片在线播放 | 亚洲 综合 欧美 动漫 丝袜图 | 五月婷婷丁香综合网 | 老版奇米影视 | 婷婷丁香综合 | 黄色视屏免费看 | 欧美黑人xxxx | 欧美精品日韩 | 国产日韩精品一区 | 欧美另类色 | 综合一区二区三区 | 婷婷丁香社区 | 国产一区二区在线看 | 国产一区久久精品 | 日本一级α片 | 天天干天天操天天爽 | 91看片免费在线观看 | 国产欧美亚洲精品a | 久草在线视频精品 | 热99在线视频 |