GCC編譯器官方版是一款可以處理多種語(yǔ)言的編程開(kāi)發(fā)工具,從最開(kāi)始只支持C語(yǔ)言,到后來(lái)可處理 Fortran、Pascal、Objective-C、Java, 以及 Ada 與其他語(yǔ)言,讓這款軟件的實(shí)用性不斷的提升,并且還在不斷的更新添加內(nèi)容,有興趣的用戶不妨下載使用。
GCC官方版原名為 GNU C 語(yǔ)言編譯器(GNU C Compiler),后來(lái)因?yàn)榭商幚碚Z(yǔ)言增多改名GNU編譯器套件(GNU Compiler Collection),是一套以 GPL 及 LGPL許可證所發(fā)行的自由軟件,亦是自由的類(lèi)Unix 及蘋(píng)果計(jì)算機(jī) Mac OS X 操作系統(tǒng)的標(biāo)準(zhǔn)編譯器。
1、編譯高效
可以很高效的進(jìn)行程序的編譯工作
2、功能完善
十分完善全面的編譯功能
3、輕松便捷
操作方式十分人性化,可以給你出色的體驗(yàn)
1、前端接口
前端的功能在于產(chǎn)生一個(gè)可讓后端處理之語(yǔ)法樹(shù)。此語(yǔ)法解析器是手寫(xiě)之遞歸語(yǔ)法解析器。
直到2004年,程序的語(yǔ)法樹(shù)結(jié)構(gòu)尚無(wú)法與欲產(chǎn)出的處理器架構(gòu)脫鉤。而語(yǔ)法樹(shù)的規(guī)則有時(shí)在不同的語(yǔ)言前端也不一樣,有些前端會(huì)提供它們特別的語(yǔ)法樹(shù)規(guī)則。
在2005年,兩種與語(yǔ)言脫鉤的新型態(tài)語(yǔ)法樹(shù)納入GCC中。它們稱(chēng)為GENERIC與GIMPLE。語(yǔ)法解析變成產(chǎn)生與語(yǔ)言相關(guān)的暫時(shí)語(yǔ)法樹(shù),再將它們轉(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ǔ)言。
2、中介接口
一般編譯器作者會(huì)將語(yǔ)法樹(shù)放在前端,但其實(shí)此步驟并不看語(yǔ)言的種類(lèi)而有不同,且不需要用到語(yǔ)法解析器。因此GCC作者們將此步驟歸入通稱(chēng)為中介階段的部分里。此類(lèi)包括消解死碼、消解重復(fù)運(yùn)算與全域數(shù)值重編碼等。
3、后端接口
GCC后端的行為因不同的前處理器宏和特定架構(gòu)的功能而不同,例如不同的字符尺寸、呼叫方式與大小尾序等。后端接口的前半部利用這些訊息決定其RTL的生成形式,因此雖然GCC的RTL理論上不受處理器影響,但在此階段其抽象指令已被轉(zhuǎn)換成目標(biāo)架構(gòu)的格式。
GCC的技巧依其釋出版本而有很大不同,但都包含了標(biāo)準(zhǔn)的算法,RTL由于可用的情形較少,且缺乏較高階的資訊,因此相比較起來(lái),增加的GIMPLE語(yǔ)法樹(shù)形式,便顯得比較不重要。
后端經(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ī)器碼。
GCC 8.3 發(fā)布了,GCC 8.3 是 GCC 8 分支的 bug 修復(fù)版本,其中包含對(duì) GCC 8.2 中的回歸和嚴(yán)重 bug 的重要修復(fù),自上一版本以來(lái)修復(fù)了超過(guò) 153 個(gè)錯(cuò)誤。
GCC(GNU Compiler Collection,GNU編譯器套裝),是一套由 GNU 開(kāi)發(fā)的編程語(yǔ)言編譯器。它是一套以 GPL 及 LGPL 許可證所發(fā)行的自由軟件,也是 GNU計(jì)劃 的關(guān)鍵部分,亦是自由的 類(lèi)Unix 及蘋(píng)果計(jì)算機(jī) Mac OS X 操作系統(tǒng)的標(biāo)準(zhǔn)編譯器。GCC(特別是其中的C語(yǔ)言編譯器)也常被認(rèn)為是跨平臺(tái)編譯器的事實(shí)標(biāo)準(zhǔn)。GCC 原本只能處理 C語(yǔ)言,隨后增加了處理 C++的能力,再之后也變得可處理 Fortran、Pascal、Objective-C、Java,以及 Ada 等多種語(yǔ)言。
新版更新主要是針對(duì) Windows 操作系統(tǒng)的一個(gè) C++ Microsoft ABI 位閾布局(bitfield layout)Bug 的修復(fù)(PR87137)。具體如下:
A non-field declaration could cause the current bitfield allocation unit to be completed, incorrectly placing a following bitfield into a new allocation unit. The Microsoft ABI is selected for:
Mingw targets
PowerPC, IA-32 or x86-64 targets when the -mms-bitfields option is specified, or __attribute__((ms_struct)) is used
SuperH targets when the -mhitachi option is specified, or __attribute__((renesas)) is used
GCC 8 介紹了這缺陷的額外案例。開(kāi)發(fā)團(tuán)隊(duì)決定在單個(gè)改動(dòng)中解決掉這個(gè)缺陷的所有案例,而不是只解決掉那些回歸。
使用UE新建一個(gè)文本,并編寫(xiě)一段程序,保存為myFirstCProgram.c
#include
void main() {
printf("my first C program !");
}
打開(kāi)命令行,執(zhí)行以下命令進(jìn)行編譯
gcc myFirstCProgram.c -o myFirstCProgram
最后直接在命令行執(zhí)行以下命令
myFirstCProgram
運(yùn)行情況如下圖所示
1、安裝MinGW編譯管理安裝軟件
2、安裝好MinGW軟件后,找到安裝文件夾下的bin目錄,默認(rèn)應(yīng)該是:c:\MinGW\bin
3、系統(tǒng)環(huán)境變量的path中將路徑添加到最后
4、按window + R鍵 ,輸入cmd打開(kāi)命令窗口后輸入命令安裝c語(yǔ)言編譯器: mingw-get install gcc
注意:輸入命令后需要按回車(chē)鍵,之間有一個(gè)空格,不能連在一起,命令窗口才可以識(shí)別,錯(cuò)誤的如:mingw-getinstallgcc 缺少空格,命令窗口提示找不到,報(bào)錯(cuò)
【可選】安裝以下屬于c++的編譯器:
5、安裝g++或者gdb 輸入命令: mingw-get install g++ && mingw-get install gdb
這時(shí)候就可以去編譯后綴為.c的c語(yǔ)言源碼了,在你的當(dāng)前源碼文件夾按住shift鍵然后鼠標(biāo)右鍵就會(huì)出現(xiàn)在此處打開(kāi)命令窗口
然后輸入gcc 源碼文件名即可編程生成可執(zhí)行.exe文件了
如:
1.
2.
3.
4.
最基本的c語(yǔ)言代碼:
#include
int main()
{
printf("hello world");
return 0;
}
1贛教云教學(xué)通2.0-贛教云教學(xué)通2.0下載 v5......
2step7 microwin-西門(mén)子PLC S7......
3百度網(wǎng)盤(pán)清爽精簡(jiǎn)純凈版-網(wǎng)盤(pán)工具-百度網(wǎng)盤(pán)清爽精......
4360安全瀏覽器-瀏覽器-360安全瀏覽器下載 ......
5谷歌瀏覽器 XP版-谷歌瀏覽器 XP版-谷歌瀏覽......
6Kittenblock重慶教育專(zhuān)用版-機(jī)器人編程......
7seo外鏈助手(超級(jí)外鏈) -SEO外鏈優(yōu)化工具......
8Notepad3-記事本軟件-Notepad3下......
9小米運(yùn)動(dòng)刷步數(shù)神器-小米運(yùn)動(dòng)刷步數(shù)神器下載 v2......