亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Clang編譯平臺(tái)優(yōu)勢(shì)分析

        2017-07-15 16:12:38龔丹蘇小紅王甜甜
        關(guān)鍵詞:編譯器軟件開發(fā)

        龔丹 蘇小紅 王甜甜

        摘要:當(dāng)前用戶對(duì)軟件產(chǎn)品在功能上、體驗(yàn)上的需求多種多樣,這就對(duì)軟件開發(fā)和維護(hù)的時(shí)效性要求越來越高。作為軟件開發(fā)中使用的主流語(yǔ)言——C家族的編程語(yǔ)言,若要在激烈的競(jìng)爭(zhēng)中保持住自己的主流地位,其支撐平臺(tái)和工具也需要不斷尋求快速、輕量、易于剪裁等方面的突破。Clang源自于伊利諾伊大學(xué)的LLVM研究項(xiàng)目,并有蘋果公司的開發(fā)支持,是一款革新性的c家族語(yǔ)言編譯器。Clang不僅在編譯速度上普遍比傳統(tǒng)的編譯器快,并且其基于庫(kù)的體系結(jié)構(gòu),使得Clang易于剪裁、體量輕盈,同時(shí),還具有強(qiáng)大的動(dòng)、靜態(tài)分析功能,發(fā)布不到十年,已經(jīng)得到了軟件開發(fā)和維護(hù)專業(yè)人員的廣泛認(rèn)可。

        關(guān)鍵詞:軟件開發(fā);編譯器;語(yǔ)法分析;抽象語(yǔ)法樹

        0引言

        Clang是LLVM項(xiàng)目的一個(gè)子項(xiàng)目。LLVM的命名最早源自于底層虛擬機(jī)(Low Level Virtual Machine)的縮寫,但是其工作卻并未直接針對(duì)傳統(tǒng)的虛擬機(jī),而是旨在提供一種既支持靜態(tài)編譯又支持動(dòng)態(tài)編譯,同時(shí)也不受編程語(yǔ)言限定制約的編譯策略。隨著這個(gè)項(xiàng)目的不斷發(fā)展,LLVM已經(jīng)無法完全指征與代表這一項(xiàng)目了,只是這種叫法一直延續(xù)下來。目前,LLVM包含了很多的子項(xiàng)目,其中最具盛名的就是Clang。

        Clang最主要的追求目的即是快速編譯。由于GNU編譯器套裝(GCC)系統(tǒng)龐大,而且蘋果公司(Apple)主要使用的Obiecfive-C在GCC中優(yōu)先級(jí)較低,同時(shí)GCC作為一個(gè)純粹的編譯系統(tǒng),與集成開發(fā)環(huán)境(Integrated Development Environment,IDE)的配合也未可堪稱優(yōu)良,因此Apple決定從零開始寫C的前端,也就是基于LLVM的Clang了。在提供快速的編譯工作基礎(chǔ)上,各種源代碼級(jí)工具的開發(fā)將得到極大的益處。從源上說,Clang結(jié)構(gòu)更簡(jiǎn)單,只需要實(shí)現(xiàn)詞法和語(yǔ)法分析,代碼優(yōu)化和機(jī)器代碼的生成工作均由LLVM執(zhí)行完成。所以比起全部集成包攬的GCC來說,Clang可以更為專注地研發(fā)和推進(jìn)一件事情直至成功。這種結(jié)構(gòu)也使Clang可以獨(dú)立引用并運(yùn)行在其他的程序里。比如XavierDeguillard發(fā)布的vim插件Clang_complete就是利用Clang進(jìn)行語(yǔ)法分析后給出精確的自動(dòng)補(bǔ)全和語(yǔ)法錯(cuò)誤提示的。

        1Clang的特性

        提供快速的編譯則編譯平臺(tái)本身不能是笨重的,因此Clang的開發(fā)選用了一種基于庫(kù)(library-based)的體系結(jié)構(gòu),這即使得在不同的應(yīng)用需求下,開發(fā)人員可以隨意裁剪使用相應(yīng)的庫(kù),從而靈活搭建輕量級(jí)的、有伸縮性的工具。具體而言,Clang的特性有6個(gè)方面:可伸縮性好、支持多樣性的應(yīng)用,快速編譯、低內(nèi)存占用,診斷信息表達(dá)能力強(qiáng),與IDE結(jié)合緊密,與GCC兼容,以及使用BSD開源許可。下面將分別對(duì)其展開闡釋與概述。

        1)可伸縮性好、支持多樣性應(yīng)用。Clang的核心設(shè)計(jì)概念是其使用基于庫(kù)的體系結(jié)構(gòu)。前端的各個(gè)部分被分割到不同的庫(kù)中,可以根據(jù)不同的使用場(chǎng)景進(jìn)行適配組合。當(dāng)前Clang被分為10個(gè)庫(kù)(見表1)和1個(gè)Clang驅(qū)動(dòng)程序。Clang的各個(gè)庫(kù)之間功能獨(dú)立、接口清晰,如開發(fā)一個(gè)預(yù)處理器,則只需要組裝libbasic庫(kù)和liblex庫(kù)。

        猜你喜歡
        編譯器軟件開發(fā)
        基于相異編譯器的安全計(jì)算機(jī)平臺(tái)交叉編譯環(huán)境設(shè)計(jì)
        運(yùn)行速度大突破華為《方舟編譯器》詳解
        信息安全環(huán)境下的計(jì)算機(jī)軟件開發(fā)研究
        計(jì)算機(jī)軟件開發(fā)中的分層技術(shù)運(yùn)用
        建模技術(shù)在軟件開發(fā)中的應(yīng)用
        軟件開發(fā)中數(shù)據(jù)庫(kù)設(shè)計(jì)理論的實(shí)踐
        核電廠定期試驗(yàn)管理軟件開發(fā)
        科技視界(2016年21期)2016-10-17 20:50:03
        FPGA軟件開發(fā)過程中編碼規(guī)范的作用
        科技視界(2016年20期)2016-09-29 13:35:10
        Microchip為MPLAB XC系列專業(yè)版編譯器推出低成本可續(xù)訂包月許可證
        通用NC代碼編譯器的設(shè)計(jì)與實(shí)現(xiàn)
        欧美自拍丝袜亚洲| 又粗又黑又大的吊av| 日韩丰满少妇无码内射| 66lu国产在线观看| 亚洲无码毛片免费视频在线观看| 一区二区三区中文字幕在线观看| 亚洲中文字幕无码爆乳app| 内谢少妇xxxxx8老少交| 国产在线不卡视频| 精品国产一区二区三区九一色| 巨爆中文字幕巨爆区爆乳| 99久久国产综合精品五月天| 色综合久久综合欧美综合图片| 人妻一区二区三区免费看| 手机av在线中文字幕| 国产农村妇女精品一二区| 久草视频福利| 国产成人亚洲合色婷婷| 亚洲国产中文字幕在线视频综合| 人妻少妇不满足中文字幕| 亚洲中文字幕无线无码毛片| 国产一品二品三品精品久久| 寂寞人妻渴望被中出中文字幕| 国内精品自在自线视频| 久久久精品456亚洲影院| 久久成人永久婷婷99精品| 深夜福利啪啪片| 亚洲av永久无码精品秋霞电影影院| 特级毛片a级毛片在线播放www| 国产一区二区免费在线视频| 帮老师解开蕾丝奶罩吸乳网站 | 美女人妻中文字幕av| 亚洲成熟女人毛毛耸耸多| 日韩插啊免费视频在线观看| 99久久综合狠狠综合久久一区| 伊人久久亚洲精品中文字幕| 公和我做好爽添厨房中文字幕| 中文字幕久久久精品无码| 亚洲国产免费一区二区| av人摸人人人澡人人超碰下载| 婷婷成人基地|