clang

 clang 類似 gcc, 是一個基於 LLVM 的 compiler.

 --

 Google Android 目前已經全面用 clang 取代 gcc, 包含 linux kernel (+driver modules) 的編譯也是用 clang.   

 從 Android P 開始, libc++ 就是用 clang 編譯的 C++ 函式庫, 

 來取代原本用 gcc 編譯的 libstdc++.

 而從 Android NDK r18 版開始, 已經將 gcc 移除, 

 全面使用 clang 來編譯.

 而 clang 和 llvm 的關係, 可以簡單看底下這圖:

  ref: gopher

  原本的 詞法/語法/語意分析, 交給前端處理, 
  不同的程式語言, 有不同的 compiler, 都編譯成 中間碼
  後, 傳給 LLVM , 這樣LLVM可以專心負責 optimization 
  的部分, 這是一個很棒的分工. 

  ( wiki有介紹編譯器高材生: Chris Lattner 在 Apple 開發 LLVM 的 歷程, 而現在他去 Google Brain 專注在 深度學習 和 人工智慧 )

--
Ubuntu 安裝
    sudo apt install build-essential 
    sudo apt install llvm
    sudo apt install clang
    sudo apt install lld






留言

熱門文章