欧美日本免费一区二区三区,中文字幕丰满乱孑伦无码专区,免费a级毛片无码鲁大师,亚洲久悠悠色悠在线播放

Gcc

#編程軟件# 0 0
Gcc(GNU Compiler Collection,GNU編譯器套件)是由GNU開發(fā)的編程語言編譯器,包括了C、C++、Objective-C、Fortran、Java、Ada和Go語言前端,也包括了這些語言的庫(如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ā)的編程語言譯器。GNU編譯器套件包括C、C++、Objective-C、 Fortran、Java、Ada和Go語言前端,也包括了這些語言的庫(如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è)別語言編譯器,并為輸出程序碼使用適合此硬件平臺(tái)的組合語言編譯器,并且選擇性地執(zhí)行連接器以制造可執(zhí)行的程序。

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

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

前端接口

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

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

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

中介接口

一般編譯器作者會(huì)將語法樹的最佳化放在前端,但其實(shí)此步驟并不看語言的種類而有不同,且不需要用到語法解析器。因此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的最佳化由于可用的情形較少,且缺乏較高階的資訊,因此相比較起來,增加的GIMPLE語法樹形式,便顯得比較不重要。

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

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

特色功能

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

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語言

Mercury

VHDL

本百科詞條由網(wǎng)站注冊(cè)用戶【 CN100941 】編輯上傳提供,當(dāng)前頁面所展示的詞條介紹涉及宣傳內(nèi)容屬于注冊(cè)用戶個(gè)人編輯行為,網(wǎng)站不完全保證內(nèi)容信息的準(zhǔn)確性、真實(shí)性,也不代表本站立場(chǎng)。 版權(quán)聲明 反饋 我要認(rèn)領(lǐng)
詞條所在榜單
您還未登錄,依《網(wǎng)絡(luò)安全法》相關(guān)要求,請(qǐng)您登錄賬戶后再提交發(fā)布信息。點(diǎn)擊登錄>>如您還未注冊(cè),可>>,感謝您的理解及支持!
互動(dòng)服務(wù)用戶公約>>
發(fā)表評(píng)論
最新評(píng)論
暫無評(píng)論
相關(guān)知識(shí)文章
十大編程軟件排行榜 編程開發(fā)工具大全 c語言編程軟件有哪些
世界上主流的編程語言有C、Java、Python、C++、C#、Visual Basic、PHP等,針對(duì)這些編程語言,又有相對(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)編輯一起了解下這些編程工具!
數(shù)控編程十大常用軟件 數(shù)控編程用什么軟件 數(shù)控自動(dòng)編程軟件推薦
一款好用的數(shù)控加工編程軟件,可以有效提升我們的工作效率。那么,你知道市面上數(shù)控編程軟件有哪些嗎?本文中maigoo小編盤點(diǎn)了十大數(shù)控自動(dòng)編程軟件,包括Cimatron、PowerMill、UG編程,以及Mastercam、Caxa、Creo、HyperMILL、Catia、EdgeCAM等。這些軟件各有特點(diǎn),已被廣泛使用。一起來詳細(xì)了解下。
十大好用的單片機(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等,一起來看看吧!
十大java編程軟件 java開發(fā)軟件有哪些 學(xué)java必備工具推薦
java是全球范圍內(nèi)流行的編程語言,廣泛應(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ā)軟件了解多少?一起來認(rèn)識(shí)下吧!
plc編程十大常用軟件 plc編程軟件哪個(gè)好 主流plc編程軟件
?PLC編程軟件是用來編寫、調(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等都較具代表性,一起來了解下吧!
十大跑分軟件排行 電腦跑分軟件哪個(gè)好 靠譜的電腦檢測(cè)軟件推薦
電腦跑分,即是利用軟件對(duì)電腦硬件進(jìn)行性能測(cè)試,分?jǐn)?shù)越高,在一定程度上代表著性能越強(qiáng)。如今電腦配置各不相同,要想更準(zhǔn)確的測(cè)試出性能如何,得先知道跑分軟件哪個(gè)好,接下來請(qǐng)跟隨maigoo小編一起看看3D Mark、魯大師、AIDA64、PCMark、FurMark、GPU-Z、CPU-Z、象棋、GeekBench等電腦跑分軟件!
十大看圖軟件 看圖軟件排行榜 看圖軟件哪個(gè)好用
看圖軟件什么最好?一款看圖軟件的實(shí)用性如何,得看它的圖片打開速度、功能數(shù)量、支持格式;現(xiàn)在看圖軟件越來越多,但實(shí)際體驗(yàn)差異明顯;MAIGOO網(wǎng)編輯就此,為大家篩選了一批好用的看圖軟件,其中有ACDSee、2345看圖王、美圖看看、Honeyview、Google Picasa、XNview、ImageGlass、光影看圖、Irfanview等,你用過多少?
十大動(dòng)畫制作軟件 動(dòng)漫制作軟件盤點(diǎn) 自己做動(dòng)畫的軟件有哪些
動(dòng)畫制作分為二維動(dòng)畫與三維動(dòng)畫技術(shù),涉及軟件主要分為2D和3D二種類型。在動(dòng)畫行業(yè)中制作動(dòng)畫的軟件種類越來越多,越來越豐富,你知道哪個(gè)動(dòng)畫制作軟件比較好用?畫動(dòng)漫軟件哪個(gè)好?下面MAIGOO小編就為大家介紹十大最好用動(dòng)畫制作軟件,分別有Maya、Adobe Animate、3DS Max、AE、C4D、Blender、萬彩動(dòng)畫大師、Houdini、TVP、Anime Studio Pro。
十大好用的手機(jī)克隆APP 一鍵換機(jī)助手排名 手機(jī)搬家軟件哪個(gè)好
手機(jī)克隆是非常實(shí)用的一種手機(jī)數(shù)據(jù)搬家軟件,能夠?qū)⒙?lián)系人、短信等個(gè)人信息,以及照片、音樂、視頻等重要數(shù)據(jù)從舊手機(jī)一鍵導(dǎo)入新手機(jī)中。那么手機(jī)搬家軟件哪個(gè)好用?一鍵換機(jī)軟件有哪些?下面,買購(gòu)小編為大家分享十大好用的手機(jī)克隆APP,包括華為手機(jī)克隆、歡太手機(jī)搬家、VIVO互傳、小米換機(jī)、榮耀換機(jī)克隆等等,一起來了解一下吧。
七大分屏軟件推薦 手機(jī)同屏多窗口軟件 手機(jī)分屏軟件哪個(gè)好
機(jī)分屏軟件既能發(fā)揮大屏幕的多視角操作優(yōu)勢(shì),又能免去后臺(tái)應(yīng)用來回切換的繁瑣,一邊打游戲一邊聊天,足以讓效率翻倍;maigoo編輯針對(duì)手機(jī)分屏技術(shù),盤點(diǎn)了VMOS、多任務(wù)分屏、SkyOlin Helper、多屏任務(wù)插件、牛軋?zhí)瞧叫写翱?、XHFW3、XMultiWindow等安卓分屏軟件,一起來看看這些分屏軟件的分屏效果如何!
九大刷機(jī)軟件排行 手機(jī)刷機(jī)軟件哪種好 安卓刷機(jī)軟件哪個(gè)好
刷機(jī)分為卡刷和線刷,通過一定的技術(shù)手段,為手機(jī)重新寫入系統(tǒng);對(duì)許多刷機(jī)者而言,刷機(jī)就是玩機(jī),享受不一樣的使用體驗(yàn),那么市場(chǎng)上的刷機(jī)軟件哪種好?免費(fèi)刷機(jī)軟件有哪些?MAIgoo小編為大家篩選了一批手機(jī)刷機(jī)軟件,其中有奇兔刷機(jī)、刷機(jī)大師、甜椒刷機(jī)助手、卓大師刷機(jī)專家、線刷寶、愛思助手、兔兔助手等!
十大建模軟件排行榜 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編輯來看看!
十大畫圖軟件排行 繪圖軟件都有哪些 畫畫軟件用什么好
近些年,我國(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等熱門畫圖軟件!
十大好用的硬盤分區(qū)工具 硬盤分區(qū)軟件哪個(gè)好 磁盤分區(qū)軟件推薦
硬盤分區(qū)軟件的作用,就是幫助我們劃分硬盤的儲(chǔ)存空間,以方便我們管理不同的文件、軟件和其它數(shù)據(jù)。本文中,買購(gòu)小編就帶大家看看硬盤分區(qū)軟件哪個(gè)好,例如傲梅分區(qū)助手、DiskGenius、MiniTool分區(qū)向?qū)?,以及Partition Magic、易我分區(qū)大師等電腦硬盤分區(qū)工具,都具有一定代表性。下面一起來了解下。
十大好用的手機(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ò)萬用表、安兔兔評(píng)測(cè)、泰爾網(wǎng)測(cè)等測(cè)速app。下面一起來看看。
十大專業(yè)顯卡測(cè)試軟件 顯卡測(cè)試工具哪個(gè)好 顯卡性能測(cè)試軟件推薦
顯卡是電腦上最重要的配置之一,其性能強(qiáng)弱影響著電腦綜合性能的表現(xiàn)。本文中,買購(gòu)網(wǎng)編輯就帶大家看看日常測(cè)試顯卡用什么軟件?,F(xiàn)階段使用較為廣泛的有3D Mark、Unigine Superposition、Furmark,以及GPU-Z、Heaven Benchmark、Geekbench 6、Fraps等。這些顯卡測(cè)試工具你都用過嗎?下面一起來了解下。
十大好用的電腦清理軟件 磁盤清理軟件哪個(gè)好 電腦垃圾清理軟件推薦
在這個(gè)信息化時(shí)代,電腦已成為人們工作和生活的必備工具。然而軟件越來越臃腫,電腦的內(nèi)存空間也一次次告急。為了保持較好的使用體驗(yàn),學(xué)會(huì)使用電腦垃圾清理軟件是非常有必要的。那么,你知道現(xiàn)在市面上電腦清理軟件哪個(gè)好用嗎,下面跟隨買購(gòu)小編來了解下CCleaner、WizTree、Glary Utilities、360清理大師-Win10等應(yīng)用。
十大手機(jī)識(shí)圖軟件排行 拍照識(shí)圖app哪個(gè)好用 識(shí)圖搜圖軟件推薦
拍照識(shí)圖軟件可以幫助人們快速了解生活中的事物,例如查詢植物、商品等;也可以幫助人們找到更高質(zhì)量的同款圖片。本文中MaiGoo小編將和大家看一份手機(jī)識(shí)圖軟件名單,其中有形色、百度App、Google Lens,以及萬能識(shí)圖、搜圖神器、慧眼識(shí)圖、搜狗識(shí)圖等。下面一起來了解下這些識(shí)圖app和網(wǎng)站。
十大數(shù)據(jù)分析必備軟件 數(shù)據(jù)分析工具排名 好用的大數(shù)據(jù)分析軟件
數(shù)據(jù),可以幫助人們更好地理解事物本質(zhì),指導(dǎo)人們的決策。各行各業(yè)的發(fā)展,都需要大量數(shù)據(jù)的支撐。本文中,maiGOO小編就和大家一起看看數(shù)據(jù)分析工具軟件有哪些,例如Power BI、Statistics Analysis System、Tableau,以及Mongo DB、Zoho Analytics等,都是較具代表性的大數(shù)據(jù)分析軟件。這些軟件你用過哪些,一起了解下。
十大好用的虛擬光驅(qū)軟件 虛擬光驅(qū)工具有哪些 虛擬光驅(qū)軟件推薦
虛擬光驅(qū)軟件的作用,就是在電腦上模擬出一個(gè)光驅(qū)。這個(gè)光驅(qū)不能直接讀取實(shí)體光盤,而是通過加載存放在硬盤里的光盤鏡像文件來讀取信息。本文中,買購(gòu)小編將帶領(lǐng)大家看看虛擬光驅(qū)工具有哪些、虛擬光驅(qū)軟件哪個(gè)好,例如DAEMON Tools、Alcohol 120%、UltraISO軟碟通、gBurner Virtual Drive等,都較具代表性,一起來了解下。
CN100941
注冊(cè)用戶-CN100941
相關(guān)主題榜單
熱門榜單
百科榜單
熱門知識(shí)分類
行業(yè)品牌展示位
MAIGOO百科詞條為用戶上傳提供或網(wǎng)站編輯整理匯總,目的在于為廣大用戶免費(fèi)提供百科知識(shí),如果您有想創(chuàng)建的詞條或?qū)δ硞€(gè)詞條有建議,請(qǐng)通過下面方式提交。
提交詞條 查詢?cè)~條 我要糾錯(cuò) 賺取金幣