亚洲免费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)
        五码人妻少妇久久五码| 国产98在线 | 免费| 精品人妻av区乱码| 亚洲av美国av产亚洲av图片| 国产肥熟女视频一区二区三区 | 亚洲Va中文字幕无码毛片下载| 北岛玲精品一区二区三区| 国产青春草在线观看视频| 久久婷婷综合色一区二区| 亚洲国产精品一区二区毛片| 欧美肥妇毛多水多bbxx水蜜桃| 人妻少妇偷人精品无码| 中文字幕熟妇人妻在线视频| 日韩国产欧美视频| 日本口爆吞精在线视频| 国产一区二区三区视频大全| 国产视频免费一区二区| av中国av一区二区三区av| 激情内射人妻1区2区3区| 啦啦啦www在线观看免费视频| 美女黄18以下禁止观看| 日韩精品免费在线视频| 熟女少妇av一区二区三区| 日本亚洲视频一区二区三区| 国产av国片精品有毛| 东京热人妻一区二区三区| 日韩一线无码av毛片免费| 91性视频| 日本一区二区三区专区| 精品视频在线观看日韩| 和外国人做人爱视频| 日韩国产成人精品视频| 麻豆成年人视频在线观看| 精品国产一区二区三区不卡在线| 国产成人av综合色| 青青久在线视频免费观看| 国产精品二区在线观看| 视频二区精品中文字幕| 久久免费看视频少妇高潮| 一区二区三区国产高清视频| 久久久国产精品免费a片3d|