win7系統(tǒng)下載
當(dāng)前位置: 首頁 > 編程軟件教程 > 詳細(xì)頁面

gcc編譯器-gcc下載-gcc編譯器下載 v2.2windows版

gcc編譯器-gcc下載-gcc編譯器下載 v2.2windows版
  • 軟件類型:編程軟件
  • 軟件語言:簡(jiǎn)體中文
  • 授權(quán)方式:免費(fèi)軟件
  • 更新時(shí)間:2023-12-29
  • 閱讀次數(shù):
  • 推薦星級(jí):
  • 運(yùn)行環(huán)境:WinXP,Win7,Win10,Win11
軟件介紹
分享到: 0
gcc編譯器-gcc下載-gcc編譯器下載 v2.2windows版

gcc編譯器是款專業(yè)的c語言編輯工具,可用于c語言、c++、java、object-C等語言程序中去,支持交叉編譯器,交叉語言設(shè)計(jì),提供交叉編譯環(huán)境,通過在命令列下鍵入一些命令參數(shù),以便決定每個(gè)輸入命令使用的個(gè)別語言編譯器,讓你的編程更有效率。

gcc編譯器簡(jiǎn)介

1.GCC是用于Unix,Unix-like系統(tǒng)的編譯器。不過,現(xiàn)在Windows下也出現(xiàn)了GCC的穩(wěn)定移植版。這要感謝Internet上眾多程序員的共同努力。

如今,在Windows下比較流行的GCC移植版主要有三個(gè)。他們是 MinGW,Cygwin和Djgpp。雖然,Djgpp是應(yīng)用于DOS系統(tǒng)的,考慮到windows對(duì)2.DOS的兼容,所以也將Djgpp納入其中了。

3.總體來說,MinGW,Cygwin和Djgpp各有特色,針對(duì)不同的應(yīng)用場(chǎng)合,可以選擇不同的移植版來滿足需要。MinGW這個(gè)系列的移植,主要方向是讓GCC的Windows移植版能使用Win32API來編程。而Cygwin的目標(biāo)是能讓Unix-like下的程序代碼在Windows下直接被編譯。至于Djgpp,則是想讓DOS下也能用上GCC。

4.對(duì)于開發(fā)人員不同的需求。選擇合適的移植版會(huì)讓工作變得輕松而高效。

gcc編譯器軟件說明

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ù)值重編碼等。

后端接口

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

GCC的技巧依其釋出版本而有很大不同,但都包含了標(biāo)準(zhǔn)的算法,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ī)器碼。

gcc編譯器使用方法

1.安裝了MinGW,在其根目錄下的bin文件夾中發(fā)現(xiàn)有等文件。

為了測(cè)試,我在該文件夾中新建了一個(gè)test.bat文件,將其中內(nèi)容寫為:gcc test.cpp

2.然后在該文件夾中創(chuàng)建test.cpp文件并將其內(nèi)容設(shè)置為:

3.雙擊test.bat文件,發(fā)現(xiàn)該文件夾中產(chǎn)生了一個(gè)a.exe文件,執(zhí)行該exe文件,發(fā)現(xiàn)其與預(yù)期編譯效果一致,說明編譯成功。

4.可以生成名為name.exe的可執(zhí)行程序。

5.把指令改為gcc –e test.cpp >test.txt 后,提示錯(cuò)誤

6.而把參數(shù)E改為大寫之后問題即解決:

gcc –E test.cpp > test.txt


使用編程語言寫的程序,由于每條指令都對(duì)應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。


點(diǎn)下面下載:(推薦使用"迅雷"進(jìn)行下載,系統(tǒng)下載大全QQ交流群:)
主站蜘蛛池模板: 亚洲日韩在线中文字幕综合 | 综合国产在线观看无码| 日韩欧美Aⅴ综合网站发布| 色综合久久中文字幕无码| 99精品国产综合久久久久五月天 | 精品国产国产综合精品| 91超碰碰碰碰久久久久久综合| 开心久久婷婷综合中文字幕| 亚洲国产欧美国产综合一区| 色五月丁香六月欧美综合图片| 亚洲伊人色欲综合网| 自拍三级综合影视| 伊人yinren6综合网色狠狠| 欧美激情综合色综合啪啪五月| 亚洲中文字幕无码久久综合网 | 亚洲国产成人久久综合碰| 亚洲精品第一国产综合精品99 | 激情综合色综合啪啪开心| 狠狠色狠狠色综合日日五| 国产综合内射日韩久| 91超碰碰碰碰久久久久久综合| 一本久久a久久精品综合夜夜| 天天做天天爱天天综合网| 久久婷婷五月综合色高清| 久久综合亚洲色HEZYO国产 | 精品国产国产综合精品 | 狠狠亚洲婷婷综合色香五月排名 | 色欲综合久久中文字幕网| 国产精品综合久久第一页| 久久综合亚洲色HEZYO社区| 伊人色综合久久天天| 国产人成精品综合欧美成人| 久久婷婷五月综合色奶水99啪| 国产综合内射日韩久| 欧美成电影综合网站色www| 狠狠色综合色区| 中文字幕亚洲综合久久| 激情综合一区二区三区| 国产成人精品综合在线观看| 伊人yinren6综合网色狠狠| 伊人成年综合网|