国产精品嫩草在线观看高潮一区二区a∨, 高清欧美一区二区三区中文字幕精品视频, 综合欧美日韩一区二区国产精品免费视频, 国产91中文综合字幕日韩免费2023,中国老肥熟女,日本边做边吃奶的av无码,日韩人妻揉捏嗯视频,nanana在线观看视频免费,亚洲色熟女图激情另类图区

Gcc

#編程軟件# 0 0
Gcc(GNU Compiler Collection,GNU編譯器套件)是由GNU開發(fā)的編程語言編譯器,包括了C、C++、Objective-C、Fortran、Java、Ada和Go語言前端,也包括了這些語言的庫(如libstdc++,libgcj等)。GCC的初衷是為GNU操作系統(tǒng)專門編寫一款編譯器,現已被大多數類Unix操作系統(tǒng)(如Linux、BSD、Mac OS X等)采納為標準的編譯器,甚至在微軟的Windows上也可以使用GCC。
  • 外文名稱: GNU Compiler Collection
詳細介紹 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)是徹底的自由軟件。此處,“自由”的含義是它尊重用戶的自由。

產品設計

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

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

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

前端接口

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

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

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

中介接口

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

后端接口

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

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

后端經由一次重讀取步驟后,利用描述目標處理器的指令集時所取得的信息,將抽象暫存器替換成處理器的真實暫存器。此階段非常復雜,因為它必須關注所有GCC可移植平臺的處理器指令集的規(guī)格與技術細節(jié)。

后端的最后步驟相當公式化,僅僅將前一階段得到的匯編語言代碼藉由簡單的子例程轉換其暫存器與內存位置成相對應的機器碼。

特色功能

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

Ada〈GNAT〉

C〈GCC〉

C++(G++)

Fortran〈Fortran77:G77,Fortran90:GFORTRAN〉

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

Objective-C〈GOBJC〉

Objective-C++

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

Fortran前端在4.0版之前是G77,此前端僅支援Fortran77。在本版本中,G77被廢棄而采用更新的GFortran,因為此前端支援Fortran95。

下列前端依然存在:

Modula-2

Modula-3

Pascal

PL/I

D語言

Mercury

VHDL

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