1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        clangC/C++編譯器

        聯(lián)合創(chuàng)作 · 2023-10-01 11:01

        Clang 是一個(gè) C++ 編寫、基于 LLVM、發(fā)布于 LLVM BSD 許可證下的 C/C++/Objective C/Objective C++ 編譯器,其目標(biāo)(之一)就是超越 GCC。

        Clang 開發(fā)事出有因,Wiki 介紹如下:

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

        Clang 的特性:

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

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            春药试用女郎 | 久久人妻精品国产自产专区 | 欧美大胸大乳人奶波霸 | www精品 | 久久黄网站 | 四虎永久在线精品免费一区二区 | 91精品国产91久久久久久软件优势 | 黄色老鸭窝视频 | 久久久久久久免 | 丰满激情的肉岳 |