999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

編譯器的現(xiàn)狀與YC編譯器的分析

2021-04-18 00:43:03楊曉兵
科技研究·理論版 2021年18期
關(guān)鍵詞:分析

楊曉兵

摘要:本文通過(guò)介紹編譯器的現(xiàn)狀,并著重論述了三種編譯器的概念及缺點(diǎn),引出YC編譯器的特點(diǎn)及優(yōu)勢(shì),允許最終用戶直接對(duì)開(kāi)發(fā)商提供的產(chǎn)品再次擴(kuò)展與開(kāi)發(fā)。

關(guān)鍵詞:編譯器;YC;分析;優(yōu)點(diǎn)

編譯器是將“一種語(yǔ)言(通常為高級(jí)語(yǔ)言)”翻譯為“另一種語(yǔ)言(通常為低級(jí)語(yǔ)言)”的程序。C語(yǔ)言代碼主要是在特定詞匯照著特定格式排列組合而成的,方便程序員的識(shí)別與理解,可CPU卻無(wú)法直接讀懂C語(yǔ)言代碼,其往往只能讀懂二進(jìn)制形式的指令。因此,開(kāi)發(fā)者必須設(shè)計(jì)出一個(gè)專門的工具,將程序員使用的C語(yǔ)言代碼直接轉(zhuǎn)化為CPU能讀懂的二進(jìn)制指令,換句話說(shuō)就是將代碼轉(zhuǎn)變?yōu)?exe程序;此類工具名為編譯器(Compiler)。編譯器能夠識(shí)別代碼中的詞匯、句子以及各種特定的格式,并將他們轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別的二進(jìn)制形式,這個(gè)過(guò)程稱為編譯。

1.編譯器的現(xiàn)狀

編譯器輸出是指通過(guò)包含入口點(diǎn)的名字、地質(zhì)、外部調(diào)用等內(nèi)容的機(jī)器代碼,構(gòu)成目標(biāo)文件。通常,一組目標(biāo)文件并非出自同一個(gè)編譯器,但是一組目標(biāo)文件中的所有文件在編譯時(shí)必須使用相同的輸出格式,同時(shí)需要確保其能夠鏈接在一起,形成可供用戶執(zhí)行的EXE文件。

當(dāng)今世界上有三大編譯器:msvc編譯器、gcc編譯器和LLVM/clang編譯器。這三大編譯器,直接或者間接開(kāi)發(fā)出了現(xiàn)在主流的操作系統(tǒng)和幾乎所有的軟件。

(1) msvc編譯器是微軟公司的產(chǎn)品,有40年的歷史,是應(yīng)用最廣泛的編譯器之一,它功能強(qiáng)大,但體積也非常龐大。Windows電腦操作系統(tǒng)、相應(yīng)的應(yīng)用程序和驅(qū)動(dòng)程序,都是直接或間接由msvc編譯器開(kāi)發(fā)的(依賴JavaScript、Python、Java、Basic等語(yǔ)言)。

(2)gcc編譯器是開(kāi)源的,不屬于任何公司,它的體積巨大。Linux電腦操作系統(tǒng),Android手機(jī)操作系統(tǒng)、所有嵌入式OS操作系統(tǒng)以及配套的驅(qū)動(dòng)程序、應(yīng)用程序,都是直接或間接用gcc編譯器開(kāi)發(fā)的。

(3)LLVM/clang編譯器是開(kāi)源的,它由gcc編譯器發(fā)展而來(lái),交給蘋果公司負(fù)責(zé)開(kāi)發(fā)與維護(hù)。其中,macOS電腦操作系統(tǒng)、iOS手機(jī)操作系統(tǒng)以及與之配套的應(yīng)用軟件都是出自該編譯器。

但是三大編譯器存在明顯的缺點(diǎn):只兼容自己開(kāi)發(fā)出的三大電腦操作系統(tǒng),即Windows—msvc,Linux—gcc,macOS-—LLVM/clang。舉例來(lái)說(shuō):在Windows操作系統(tǒng)下開(kāi)發(fā)的軟件不能在Linux和macOS中直接編譯。如果想讓一個(gè)軟件在各個(gè)操作系統(tǒng)中都能運(yùn)行,那就需要針對(duì)每種操作系統(tǒng)對(duì)此軟件做相應(yīng)開(kāi)發(fā),這無(wú)疑增加了開(kāi)發(fā)工作量和維護(hù)成本;若是軟件只能在特定的操作系統(tǒng)下運(yùn)行,不同的版本對(duì)應(yīng)的動(dòng)態(tài)鏈接庫(kù)也將有所差異,這就要需要開(kāi)發(fā)多套同樣功能的動(dòng)態(tài)庫(kù),同樣增加了成本。 如果軟件產(chǎn)品規(guī)模較大(如文件數(shù)超過(guò)一萬(wàn)),則各文件中的函數(shù)調(diào)用關(guān)系極其復(fù)雜、調(diào)試費(fèi)時(shí)費(fèi)力,哪怕改作微小的改動(dòng),都需重新生成執(zhí)行代碼。

2.三大編譯器缺點(diǎn)

軟件開(kāi)發(fā)講究模塊化,在C/C++中,有兩種方式實(shí)現(xiàn)模塊化。(1)類繼承或源碼文件;(2)動(dòng)態(tài)鏈接庫(kù)或COM對(duì)象。在這兩種方式中,前者的模塊被放入執(zhí)行文件,后者的模塊以二進(jìn)制方式提供。用戶無(wú)法修改模塊,很難進(jìn)行二次開(kāi)發(fā)和功能擴(kuò)展。YC編譯器除提供上述兩種模塊方式外,還通過(guò)擴(kuò)展C/C++語(yǔ)法提供了“獨(dú)立源碼模塊”的方式,這種方式的模塊以C/C++源碼方式提供,用戶通過(guò)修改模塊源碼而進(jìn)行二次開(kāi)發(fā)和功能擴(kuò)展,源碼修改后,無(wú)需手動(dòng)編譯。

YC編譯器經(jīng)過(guò)近20年的研發(fā),已經(jīng)具有三大編譯器的主要功能,同時(shí)解決了三大編譯器的上述缺點(diǎn)。一個(gè)軟件用YC編譯器只需要編寫一套源代碼,就可以在所有操作系統(tǒng)上運(yùn)行,而三大編譯器則需要針對(duì)不用的操作系統(tǒng)進(jìn)行開(kāi)發(fā)。

3.YC編譯器特點(diǎn)分析

YC(Yang C++,簡(jiǎn)稱YC)瀏覽器—國(guó)內(nèi)首款全新瀏覽器內(nèi)核,YC瀏覽器內(nèi)核(暫命名Ycweb)的研發(fā)始于2001年底,歷時(shí)十年。幾十萬(wàn)行的代碼,沒(méi)有借用任何開(kāi)源的代碼,做到了真正獨(dú)立自主開(kāi)發(fā),是繼世界主流四款瀏覽器內(nèi)核之后的又一款全新瀏覽器內(nèi)核。

YC瀏覽器主要依托于HTML5技術(shù),是一個(gè)智能終端瀏覽器,其不僅體積小、運(yùn)行速度高、拓展性強(qiáng),還能夠自由定制、安全性能較強(qiáng);不同于其他的瀏覽器,YC瀏覽器可以實(shí)現(xiàn)對(duì)Trident、Gecko、Presto以及Webkit等四款內(nèi)核瀏覽器的兼容,網(wǎng)頁(yè)制作速度更高。此外,YC瀏覽器還支持最先進(jìn)的網(wǎng)絡(luò)技術(shù),包含W3C標(biāo)準(zhǔn)、CSS3、HTML5、Canvas、WebM、ECMAScript 5以及JavaScript等。由此可見(jiàn),YC瀏覽器具備超強(qiáng)的核心引擎,能夠帶動(dòng)更多的便捷應(yīng)用。

YC瀏覽器還允許第三方應(yīng)用擴(kuò)展,為廠商開(kāi)發(fā)配備了接口,瀏覽器中專門內(nèi)置了YC++編譯器,能夠?qū)崿F(xiàn)實(shí)時(shí)編譯。此外,使用者還可以直接在瀏覽器中開(kāi)發(fā)插件、應(yīng)用軟件,甚至可以根據(jù)自己的需要定制特殊功能、根據(jù)需要開(kāi)發(fā)出個(gè)性化的產(chǎn)品與服務(wù),并將其直接傳輸至智能終端設(shè)備中。

(1)兼容性強(qiáng)。YC編譯器支持C、C++、JavaScript、HTML、css、x86匯編、arm匯編等語(yǔ)言,支持32位和64位的Intel系列CPU,支持64位ARM系列CPU。

(2)應(yīng)用性廣。YC編譯器可以高效地開(kāi)發(fā)各種高性能的系統(tǒng)軟件和應(yīng)用軟件(如操作系統(tǒng),工業(yè)軟件,行業(yè)軟件等)。

(3)功能豐富。YC編譯器比三大編譯器具有更佳的模塊管理功能,即不需要手動(dòng)編寫生成代碼的腳本,它用HTML+css來(lái)生成界面,通過(guò)程序語(yǔ)句來(lái)實(shí)現(xiàn)自動(dòng)編譯,用C、C++和JavaScript來(lái)實(shí)現(xiàn)功能。

(4)適合教學(xué)。YC編譯器具有詳細(xì)分析源碼邏輯關(guān)系的功能,可以讓初學(xué)者輕松地學(xué)習(xí)軟件技術(shù)。

(5)使用便捷。YC編譯器提供幾個(gè)編譯函數(shù),供三大編譯器調(diào)用。因此,現(xiàn)有的軟件產(chǎn)品可以用YC編譯器生成其中的任意部分代碼,而不必整個(gè)重新用YC編譯器開(kāi)發(fā),從而使工作量減少到最小。

(6)開(kāi)源性強(qiáng)。YC編譯器開(kāi)源了80%左右。如HTML解析器,JavaScript的Jit,c/c++的x86-32、x86-64、arm64等后端。用戶可以修改優(yōu)化這些代碼,也可以編寫新的CPU后端代碼,使YC編譯器支持新的CPU。

(7)可以自舉。YC編譯器可以自己編譯自己。它的體積最小可裁剪到1.5M左右,加上HTML解析器不超過(guò)6M。生成同樣質(zhì)量的代碼,編譯速度超過(guò)三大編譯器許多。編譯所需要的內(nèi)存也遠(yuǎn)遠(yuǎn)小于三大編譯器。因此它非常適合與用戶軟件產(chǎn)品集成在一塊,方便產(chǎn)品的直接用戶進(jìn)行二次開(kāi)發(fā)和功能擴(kuò)展。

(8)操作性好。YC編譯器提供了一個(gè)集成開(kāi)發(fā)環(huán)境(IDE),還提供一個(gè)開(kāi)源的適用于各平臺(tái)的代碼編輯器,命名為YC編輯器。YC編譯器的所有代碼都用YC編輯器寫成,用戶可以非常容易地改寫、擴(kuò)展這個(gè)編輯器。

4.結(jié)語(yǔ)

YC編譯器除了能夠?qū)崿F(xiàn)靜態(tài)、動(dòng)態(tài)語(yǔ)言的編譯,還可以用于解析HTML超文本。本文通過(guò)對(duì)實(shí)際示例程序進(jìn)行分析,發(fā)現(xiàn)其均能夠經(jīng)由YC編譯器生成可獨(dú)立執(zhí)行文件,以便使用者學(xué)習(xí)、開(kāi)發(fā)、使用。

參考文獻(xiàn):

[1]劉舒,彭鳳,段曉悅,等.一種DHFR介導(dǎo)的可調(diào)控的腺嘌呤堿基編輯器的構(gòu)建[J].現(xiàn)代生物醫(yī)學(xué)進(jìn)展,2021(23):4401-4406.

[2]甄仲?gòu)?qiáng).云計(jì)算下的移動(dòng)通信網(wǎng)絡(luò)優(yōu)化實(shí)踐探究[J].工程建設(shè)與設(shè)計(jì),2021(22):98-99+106.

[3]楊娜.新媒體集成發(fā)布平臺(tái)富文本編輯器選型淺析[J].現(xiàn)代電視技術(shù),2021(11):111-113.

猜你喜歡
分析
禽大腸桿菌病的分析、診斷和防治
隱蔽失效適航要求符合性驗(yàn)證分析
電力系統(tǒng)不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
電力系統(tǒng)及其自動(dòng)化發(fā)展趨勢(shì)分析
經(jīng)濟(jì)危機(jī)下的均衡與非均衡分析
對(duì)計(jì)劃生育必要性以及其貫徹實(shí)施的分析
GB/T 7714-2015 與GB/T 7714-2005對(duì)比分析
出版與印刷(2016年3期)2016-02-02 01:20:11
中西醫(yī)結(jié)合治療抑郁癥100例分析
偽造有價(jià)證券罪立法比較分析
在線教育與MOOC的比較分析
主站蜘蛛池模板: 日韩AV无码免费一二三区| 97se综合| 亚洲成人在线网| 99热精品久久| 午夜欧美理论2019理论| 国产青青操| 国产无码精品在线播放| 亚洲成AV人手机在线观看网站| 精品少妇人妻无码久久| 在线看免费无码av天堂的| 国产91高清视频| 伊人AV天堂| 欧美h在线观看| 亚洲欧美日韩成人高清在线一区| 亚洲欧美在线精品一区二区| 国产成人亚洲精品无码电影| 国产成人高清在线精品| 国产福利免费视频| 亚洲日韩精品伊甸| 亚洲欧美精品一中文字幕| 亚洲精品国产日韩无码AV永久免费网 | 亚洲人成影视在线观看| 91精品国产无线乱码在线| 国产精品一线天| 国产h视频免费观看| www中文字幕在线观看| 国产精品露脸视频| 久久性视频| 久久精品免费国产大片| 亚洲欧美综合精品久久成人网| 免费看黄片一区二区三区| 国产99精品久久| 国产最新无码专区在线| 青草视频久久| 激情爆乳一区二区| 婷婷六月综合网| 女同国产精品一区二区| 女人18毛片久久| 久久不卡精品| 在线观看国产精品一区| 日韩美女福利视频| 国产成人综合日韩精品无码不卡| 色久综合在线| 国产成人精品一区二区| 国产精品第5页| 91区国产福利在线观看午夜| 亚洲第一视频网| 中文字幕在线看视频一区二区三区| 国产精品女主播| 91欧洲国产日韩在线人成| 久久黄色免费电影| 精品亚洲国产成人AV| 国产欧美精品专区一区二区| 成人日韩欧美| 国产不卡一级毛片视频| 国产欧美日韩专区发布| 久热re国产手机在线观看| 国产在线拍偷自揄观看视频网站| 亚洲欧美在线综合一区二区三区| 亚洲无码A视频在线| 国产一区亚洲一区| 国产偷倩视频| 99久久婷婷国产综合精| 亚洲无码精品在线播放| 国产成人你懂的在线观看| 久久青草视频| 国产sm重味一区二区三区| 四虎国产精品永久一区| 国产丝袜无码精品| 91久久偷偷做嫩草影院精品| 欧美乱妇高清无乱码免费| 一本色道久久88亚洲综合| 亚瑟天堂久久一区二区影院| 大陆国产精品视频| 免费无码网站| 日韩精品一区二区三区免费在线观看| 亚洲Aⅴ无码专区在线观看q| 欧美亚洲日韩中文| 国产精品黄色片| 草草线在成年免费视频2| 在线欧美a| 免费人成视频在线观看网站|