久草视频污在线观看|亚洲熟女丝袜AV|中国三级在线免费|在线免费牛牛AV|日韩无码青青草原|国产V日产∨综合V精品视频|98超碰资源人人|久久久久久久探花蜜蜜蜜|久久小视频免费在|亚洲日韩欧美国产网站

Gcc

#編程軟件# 0 0
Gcc(GNU Compiler Collection,GNU編譯器套件)是由GNU開發(fā)的編程語(yǔ)言編譯器,包括了C、C++、Objective-C、Fortran、Java、Ada和Go語(yǔ)言前端,也包括了這些語(yǔ)言的庫(kù)(如libstdc++,libgcj等)。GCC的初衷是為GNU操作系統(tǒng)專門編寫一款編譯器,現(xiàn)已被大多數(shù)類Unix操作系統(tǒng)(如Linux、BSD、Mac OS X等)采納為標(biāo)準(zhǔn)的編譯器,甚至在微軟的Windows上也可以使用GCC。
  • 外文名稱: GNU Compiler Collection
詳細(xì)介紹 PROFILE +

基本介紹

GCC(GNU Compiler Collection,GNU編譯器套件)是由GNU開發(fā)的編程語(yǔ)言譯器。GNU編譯器套件包括C、C++、Objective-C、 Fortran、Java、Ada和Go語(yǔ)言前端,也包括了這些語(yǔ)言的庫(kù)(如libstdc++,libgcj等。)

GCC的初衷是為GNU操作系統(tǒng)專門編寫的一款編譯器。GNU系統(tǒng)是徹底的自由軟件。此處,“自由”的含義是它尊重用戶的自由。

產(chǎn)品設(shè)計(jì)

GCC的外部接口長(zhǎng)得像一個(gè)標(biāo)準(zhǔn)的Unix編譯器。使用者在命令列下鍵入gcc之程序名,以及一些命令參數(shù),以便決定每個(gè)輸入檔案使用的個(gè)別語(yǔ)言編譯器,并為輸出程序碼使用適合此硬件平臺(tái)的組合語(yǔ)言編譯器,并且選擇性地執(zhí)行連接器以制造可執(zhí)行的程序。

每個(gè)語(yǔ)言編譯器都是獨(dú)立程序,此程序可處理輸入的原始碼,并輸出組合語(yǔ)言碼。全部的語(yǔ)言編譯器都擁有共通的中介架構(gòu):一個(gè)前端解析符合此語(yǔ)言的原始碼,并產(chǎn)生一抽象語(yǔ)法樹,以及一翻譯此語(yǔ)法樹成為GCC的暫存器轉(zhuǎn)換語(yǔ)言〈RTL〉的后端。編譯器最佳化與靜態(tài)程序碼解析技術(shù)(例如FORTIFY_SOURCE,一個(gè)試圖發(fā)現(xiàn)緩沖區(qū)溢位〈buffer overflow〉的編譯器)在此階段應(yīng)用于程序碼上。最后,適用于此硬件架構(gòu)的組合語(yǔ)言程序碼以Jack Davidson與Chris Fraser發(fā)明的算法產(chǎn)出。

幾乎全部的GCC都由C寫成,除了Ada前端大部分以Ada寫成。

前端接口

前端的功能在于產(chǎn)生一個(gè)可讓后端處理之語(yǔ)法樹。此語(yǔ)法解析器是手寫之遞歸語(yǔ)法解析器。

直到2004年,程序的語(yǔ)法樹結(jié)構(gòu)尚無(wú)法與欲產(chǎn)出的處理器架構(gòu)脫鉤。而語(yǔ)法樹的規(guī)則有時(shí)在不同的語(yǔ)言前端也不一樣,有些前端會(huì)提供它們特別的語(yǔ)法樹規(guī)則。

在2005年,兩種與語(yǔ)言脫鉤的新型態(tài)語(yǔ)法樹納入GCC中。它們稱為GENERIC與GIMPLE。語(yǔ)法解析變成產(chǎn)生與語(yǔ)言相關(guān)的暫時(shí)語(yǔ)法樹,再將它們轉(zhuǎn)成GENERIC。之后再使用"gimplifier"技術(shù)降低GENERIC的復(fù)雜結(jié)構(gòu),成為一較簡(jiǎn)單的靜態(tài)唯一形式(Static Single Assignment form,SSA)基礎(chǔ)的GIMPLE形式。此形式是一個(gè)與語(yǔ)言和處理器架構(gòu)脫鉤的全域最佳化通用語(yǔ)言,適用于大多數(shù)的現(xiàn)代編程語(yǔ)言。

中介接口

一般編譯器作者會(huì)將語(yǔ)法樹的最佳化放在前端,但其實(shí)此步驟并不看語(yǔ)言的種類而有不同,且不需要用到語(yǔ)法解析器。因此GCC作者們將此步驟歸入通稱為中介階段的部分里。此類的最佳化包括消解死碼、消解重復(fù)運(yùn)算與全域數(shù)值重編碼等。許多最佳化技巧也正在實(shí)作中。

后端接口

GCC后端的行為因不同的前處理器宏和特定架構(gòu)的功能而不同,例如不同的字符尺寸、呼叫方式與大小尾序等。后端接口的前半部利用這些訊息決定其RTL的生成形式,因此雖然GCC的RTL理論上不受處理器影響,但在此階段其抽象指令已被轉(zhuǎn)換成目標(biāo)架構(gòu)的格式。

GCC的最佳化技巧依其釋出版本而有很大不同,但都包含了標(biāo)準(zhǔn)的最佳化算法,例如循環(huán)最佳化、執(zhí)行緒跳躍、共通程序子句消減、指令排程等等。而RTL的最佳化由于可用的情形較少,且缺乏較高階的資訊,因此相比較起來(lái),增加的GIMPLE語(yǔ)法樹形式,便顯得比較不重要。

后端經(jīng)由一次重讀取步驟后,利用描述目標(biāo)處理器的指令集時(shí)所取得的信息,將抽象暫存器替換成處理器的真實(shí)暫存器。此階段非常復(fù)雜,因?yàn)樗仨氷P(guān)注所有GCC可移植平臺(tái)的處理器指令集的規(guī)格與技術(shù)細(xì)節(jié)。

后端的最后步驟相當(dāng)公式化,僅僅將前一階段得到的匯編語(yǔ)言代碼藉由簡(jiǎn)單的子例程轉(zhuǎn)換其暫存器與內(nèi)存位置成相對(duì)應(yīng)的機(jī)器碼。

特色功能

以2006年5月24日釋出的4.1.1版為準(zhǔn),本編譯器版本可處理下列語(yǔ)言:

Ada〈GNAT〉

C〈GCC〉

C++(G++)

Fortran〈Fortran77:G77,Fortran90:GFORTRAN〉

Java〈編譯器:GCJ;解釋器:GIJ〉

Objective-C〈GOBJC〉

Objective-C++

先前版本納入的CHILL前端由于缺乏維護(hù)而被廢棄。

Fortran前端在4.0版之前是G77,此前端僅支援Fortran77。在本版本中,G77被廢棄而采用更新的GFortran,因?yàn)榇饲岸酥г瓼ortran95。

下列前端依然存在:

Modula-2

Modula-3

Pascal

PL/I

D語(yǔ)言

Mercury

VHDL

本百科詞條由網(wǎng)站注冊(cè)用戶【 CN100941 】編輯上傳提供,當(dāng)前頁(yè)面所展示的詞條介紹涉及宣傳內(nèi)容屬于注冊(cè)用戶個(gè)人編輯行為,網(wǎng)站不完全保證內(nèi)容信息的準(zhǔn)確性、真實(shí)性,也不代表本站立場(chǎng)。 版權(quán)聲明 反饋 我要認(rèn)領(lǐng)
最新評(píng)論
相關(guān)知識(shí)文章
十大編程軟件排行榜 編程開發(fā)工具大全 c語(yǔ)言編程軟件有哪些
世界上主流的編程語(yǔ)言有C、Java、Python、C++、C#、Visual Basic、PHP等,針對(duì)這些編程語(yǔ)言,又有相對(duì)應(yīng)的Visual C++、Visual Studio、Eclipse、Dev-C++、Notepad++、MyEclipse、JDK、Code::Blocks、Gcc、Sublime Text、IntelliJ IDEA、Ultraedit、C-Free等編程軟件,被廣泛運(yùn)用,下面跟隨maigoo網(wǎng)編輯一起了解下這些編程工具!
plc編程十大常用軟件 plc編程軟件哪個(gè)好 主流plc編程軟件
?PLC編程軟件是用來(lái)編寫、調(diào)試和修改可編程邏輯控制器(PLC)程序的工具,可以幫助工程師高效率地進(jìn)行自動(dòng)化控制系統(tǒng)的開發(fā)。你知道市面上主流plc編程軟件有哪些嗎?本篇文章Maigoo小編將帶大家看看plc編程軟件哪個(gè)好用,例如STEP 7(TIA Portal)、RSLogix 5000、EcoStruxure Control Expert、GX Works3等都較具代表性,一起來(lái)了解下吧!
數(shù)控編程十大常用軟件 數(shù)控編程用什么軟件 數(shù)控自動(dòng)編程軟件推薦
一款好用的數(shù)控加工編程軟件,可以有效提升我們的工作效率。那么,你知道市面上數(shù)控編程軟件有哪些嗎?本文中maigoo小編盤點(diǎn)了十大數(shù)控自動(dòng)編程軟件,包括Cimatron、PowerMill、UG編程,以及Mastercam、Caxa、Creo、HyperMILL、Catia、EdgeCAM等。這些軟件各有特點(diǎn),已被廣泛使用。一起來(lái)詳細(xì)了解下。
十大圖形化編程軟件排行 可視化編程軟件哪個(gè)好用
除了傳統(tǒng)的編程方式,圖形化編程以其直觀、易用的界面,將復(fù)雜的編程邏輯轉(zhuǎn)化為可視化的形式,極大地提高了開發(fā)效率和便捷性。你知道的可視化編程軟件有哪些呢?Maigoo小編為大家?guī)?lái)了十大圖形化編程軟件排行,如:LabVIEW、Blockly、Scratch、MakeCode、App Invento、S4A、Mind+等,一起來(lái)看看吧。
十大少兒編程App 兒童學(xué)編程哪個(gè)app好 少兒編程軟件推薦
學(xué)習(xí)編程是近年來(lái)的趨勢(shì),學(xué)習(xí)的人群范圍也越來(lái)越廣,從小就學(xué)習(xí)編程的人逐年增加,那兒童學(xué)編程哪個(gè)app好呢?Maigoo小編為大家?guī)?lái)了十大少兒編程App,如:CodeMonkey Jr、Lightbot :Code Hour、Cargo-Bot、Scratch JR、Box Island、Tynker、Daisy the Dinosaur等,一起來(lái)看看吧。
十大java編程軟件 java開發(fā)軟件有哪些 學(xué)java必備工具推薦
java是全球范圍內(nèi)流行的編程語(yǔ)言,廣泛應(yīng)用于網(wǎng)站后臺(tái)和安卓應(yīng)用開發(fā)。那么你知道java編程軟件有哪些嗎?本篇文章Maigoo小編為大家整理了一批時(shí)下熱門的JAVA開發(fā)工具,包括Eclipse、IntelliJ IDEA、NetBeans、JDeveloper、JCreator、MyEclipse、JDK、JBuilder、Junit等。你對(duì)這些java開發(fā)軟件了解多少?一起來(lái)認(rèn)識(shí)下吧!
十大好用的python編程軟件 初學(xué)Python需要安裝哪些軟件
學(xué)Python的時(shí)候,如果希望盡快對(duì)編程產(chǎn)生興趣,就要選擇一個(gè)好的Python開發(fā)工具,那初學(xué)Python需要安裝哪些軟件呢?Maigoo小編為大家?guī)?lái)了十大好用的python編程軟件,如:Anaconda、Jupyter Notebook、PyCharm、Spyder、Visual Studio Code、Sublime Text、Atom等,一起來(lái)看看吧。
十大好用的單片機(jī)編程軟件推薦 單片機(jī)開發(fā)編程用什么軟件好
單片機(jī)編程是嵌入式編程的一種,主要是在單片機(jī)這種集成電路芯片上編寫和運(yùn)行程序,進(jìn)而達(dá)到控制硬件設(shè)備的目的。那么你知道市面上好用的單片機(jī)編程軟件有哪些嗎?本篇文章Maigoo小編整理了一批單片機(jī)開發(fā)常用軟件,包括IAR Embedded Workbench、Keil MDK、STM32CubeIDE、Arduino IDE、MPLAB X IDE等,一起來(lái)看看吧!
十大好用的機(jī)器人編程軟件 機(jī)器人編程用什么軟件好
隨著科技的飛速進(jìn)步,機(jī)器人技術(shù)逐漸走進(jìn)了大家的視野,那如今市面上機(jī)器人編程軟件有哪些比較好呢?Maigoo小編今天就為大家?guī)?lái)了十大好用的機(jī)器人編程軟件,包括:RobotStudio、RoboGuide、SimPro、MotoSim EG-VRC、RobotMaster、ROBCAD、RobotWorks等,一起來(lái)看看吧。
十大跑分軟件排行 電腦跑分軟件哪個(gè)好 靠譜的電腦檢測(cè)軟件推薦
電腦跑分,即是利用軟件對(duì)電腦硬件進(jìn)行性能測(cè)試,分?jǐn)?shù)越高,在一定程度上代表著性能越強(qiáng)。如今電腦配置各不相同,要想更準(zhǔn)確的測(cè)試出性能如何,得先知道跑分軟件哪個(gè)好,接下來(lái)請(qǐng)跟隨maigoo小編一起看看3D Mark、魯大師、AIDA64、PCMark、FurMark、GPU-Z、CPU-Z、Fritz Chess Benchmark、GeekBench等電腦跑分軟件!
十大看圖軟件排行 看圖軟件哪個(gè)好用 圖像查看軟件大全
看圖軟件什么最好?一款看圖軟件的實(shí)用性如何,得看它的圖片打開速度、功能數(shù)量、支持格式;現(xiàn)在看圖軟件越來(lái)越多,但實(shí)際體驗(yàn)差異明顯;MAIGOO網(wǎng)編輯就此,為大家篩選了一批好用的看圖軟件,其中有ACDSee、2345看圖王、美圖看看、Google Picasa、XNview、ImageGlass、光影看圖、Irfanview等,你用過(guò)多少?
十大動(dòng)畫制作軟件 動(dòng)漫制作軟件盤點(diǎn) 自己做動(dòng)畫的軟件有哪些
動(dòng)畫制作分為二維動(dòng)畫與三維動(dòng)畫技術(shù),涉及軟件主要分為2D和3D二種類型。在動(dòng)畫行業(yè)中制作動(dòng)畫的軟件種類越來(lái)越多,越來(lái)越豐富,你知道哪個(gè)動(dòng)畫制作軟件比較好用?畫動(dòng)漫軟件哪個(gè)好?下面MAIGOO小編就為大家介紹十大最好用動(dòng)畫制作軟件,分別有Autodesk Maya、Adobe Animate、3DS Max、AE、C4D、Blender、Harmony、Cascadeur?、TVP、Dragonframe。
十大好用的手機(jī)克隆APP 一鍵換機(jī)助手排名 手機(jī)搬家軟件哪個(gè)好
手機(jī)克隆是非常實(shí)用的一種手機(jī)數(shù)據(jù)搬家軟件,能夠?qū)⒙?lián)系人、短信等個(gè)人信息,以及照片、音樂(lè)、視頻等重要數(shù)據(jù)從舊手機(jī)一鍵導(dǎo)入新手機(jī)中。那么手機(jī)搬家軟件哪個(gè)好用?一鍵換機(jī)軟件有哪些?下面,買購(gòu)小編為大家分享十大好用的手機(jī)克隆APP,包括華為手機(jī)克隆、歡太手機(jī)搬家、VIVO互傳、小米換機(jī)、榮耀換機(jī)克隆等等,一起來(lái)了解一下吧。
九大刷機(jī)軟件排行 手機(jī)刷機(jī)軟件哪種好 安卓刷機(jī)軟件哪個(gè)好
刷機(jī)分為卡刷和線刷,通過(guò)一定的技術(shù)手段,為手機(jī)重新寫入系統(tǒng);對(duì)許多刷機(jī)者而言,刷機(jī)就是玩機(jī),享受不一樣的使用體驗(yàn),那么市場(chǎng)上的刷機(jī)軟件哪種好?免費(fèi)刷機(jī)軟件有哪些?MAIgoo小編為大家篩選了一批手機(jī)刷機(jī)軟件,其中有奇兔刷機(jī)、刷機(jī)大師、甜椒刷機(jī)助手、卓大師刷機(jī)專家、線刷寶、愛思助手、兔兔助手等!
七大分屏軟件推薦 手機(jī)同屏多窗口軟件 手機(jī)分屏軟件哪個(gè)好
機(jī)分屏軟件既能發(fā)揮大屏幕的多視角操作優(yōu)勢(shì),又能免去后臺(tái)應(yīng)用來(lái)回切換的繁瑣,一邊打游戲一邊聊天,足以讓效率翻倍;maigoo編輯針對(duì)手機(jī)分屏技術(shù),盤點(diǎn)了VMOS、多任務(wù)分屏、SkyOlin Helper、多屏任務(wù)插件、牛軋?zhí)瞧叫写翱?、XHFW3、XMultiWindow等安卓分屏軟件,一起來(lái)看看這些分屏軟件的分屏效果如何!
十大建模軟件排行榜 3d建模軟件有哪些 3d制圖軟件哪個(gè)好
3d建模軟件顛覆了傳統(tǒng)的2D模式,在游戲、影視、建筑/室內(nèi)設(shè)計(jì)、VR/AR、電商、工業(yè)設(shè)計(jì)、軍工設(shè)計(jì)等多個(gè)重要領(lǐng)域有著廣泛應(yīng)用,并在一定程度上改變著行業(yè)的發(fā)展格局,那么在這種大環(huán)境下,相關(guān)從業(yè)者和愛好者有哪些3D制圖軟件可以使用?3DS MAX、Maya、Rhino、Blender、ZBrush、SketchUp等建模軟件效果如何?下面跟隨maigoo編輯來(lái)看看!
十大畫圖軟件排行 繪圖軟件都有哪些 畫畫軟件用什么好
近些年,我國(guó)繪圖軟件行業(yè)的自主軟件品種不斷增多,質(zhì)量不斷提升,于2019年達(dá)到2250億元的市場(chǎng)規(guī)模,然而面對(duì)如今各行各業(yè)的需求,國(guó)產(chǎn)畫圖工具能否滿足要求呢?國(guó)內(nèi)外哪種制圖軟件最好用呢?下面跟隨MAIgoo編輯一起了解下Photoshop、Illustrator、CorelDRAW、SAI、Visio、Origin、Painter、AutoCAD等熱門畫圖軟件!
十大好用的電腦清理軟件 磁盤清理軟件哪個(gè)好 電腦垃圾清理軟件推薦
在這個(gè)信息化時(shí)代,電腦已成為人們工作和生活的必備工具。然而軟件越來(lái)越臃腫,電腦的內(nèi)存空間也一次次告急。為了保持較好的使用體驗(yàn),學(xué)會(huì)使用電腦垃圾清理軟件是非常有必要的。那么,你知道現(xiàn)在市面上電腦清理軟件哪個(gè)好用嗎,下面跟隨買購(gòu)小編來(lái)了解下CCleaner、WizTree、Glary Utilities、360清理大師-Win10等應(yīng)用。
十大好用的手機(jī)測(cè)速軟件 wifi測(cè)速app哪個(gè)好 最準(zhǔn)的測(cè)網(wǎng)速軟件
手機(jī)測(cè)速軟件可以幫助你了解當(dāng)下的網(wǎng)絡(luò)環(huán)境,同時(shí)也在一定程度上,體現(xiàn)了一款的手機(jī)的網(wǎng)絡(luò)性能。那么,你知道手機(jī)測(cè)速用什么軟件好嗎?本文中,買購(gòu)網(wǎng)編輯就帶大家了解下Speedtest、花瓣測(cè)速、測(cè)網(wǎng)速UUSpeed,以及全球網(wǎng)測(cè)、網(wǎng)絡(luò)萬(wàn)用表、安兔兔評(píng)測(cè)、泰爾網(wǎng)測(cè)等測(cè)速app。下面一起來(lái)看看。
十大手機(jī)識(shí)圖軟件排行 拍照識(shí)圖app哪個(gè)好用 識(shí)圖搜圖軟件推薦
拍照識(shí)圖軟件可以幫助人們快速了解生活中的事物,例如查詢植物、商品等;也可以幫助人們找到更高質(zhì)量的同款圖片。本文中MaiGoo小編將和大家看一份手機(jī)識(shí)圖軟件名單,其中有形色、百度App、Google Lens,以及萬(wàn)能識(shí)圖、搜圖神器、慧眼識(shí)圖、搜狗識(shí)圖等。下面一起來(lái)了解下這些識(shí)圖app和網(wǎng)站。
相關(guān)主題榜單
熱門榜單
百科榜單
熱門知識(shí)分類
行業(yè)品牌展示位
MAIGOO百科詞條為用戶上傳提供或網(wǎng)站編輯整理匯總,目的在于為廣大用戶免費(fèi)提供百科知識(shí),如果您有想創(chuàng)建的詞條或?qū)δ硞€(gè)詞條有建議,請(qǐng)通過(guò)下面方式提交。
提交詞條 查詢?cè)~條 我要糾錯(cuò) 賺取金幣