GCC編譯器軟件介紹
GCC編譯器官方版是一款可以處理多種語言的編程開發(fā)工具,從最開始只支持C語言,到后來可處理 Fortran、Pascal、Objective-C、Java, 以及 Ada 與其他語言,讓這款軟件的實用性不斷的提升,并且還在不斷的更新添加內(nèi)容,有興趣的用戶不妨下載使用。
GCC官方版原名為 GNU C 語言編譯器(GNU C Compiler),后來因為可處理語言增多改名GNU編譯器套件(GNU Compiler Collection),是一套以 GPL 及 LGPL許可證所發(fā)行的自由軟件,亦是自由的類Unix 及蘋果計算機 Mac OS X 操作系統(tǒng)的標準編譯器。
GCC編譯器軟件特色
1、編譯高效
可以很高效的進行程序的編譯工作
2、功能完善
十分完善全面的編譯功能
3、輕松便捷
操作方式十分人性化,可以給你出色的體驗
GCC編譯器軟件功能
1、前端接口
前端的功能在于產(chǎn)生一個可讓后端處理之語法樹。此語法解析器是手寫之遞歸語法解析器。
直到2004年,程序的語法樹結(jié)構(gòu)尚無法與欲產(chǎn)出的處理器架構(gòu)脫鉤。而語法樹的規(guī)則有時在不同的語言前端也不一樣,有些前端會提供它們特別的語法樹規(guī)則。
在2005年,兩種與語言脫鉤的新型態(tài)語法樹納入GCC中。它們稱為GENERIC與GIMPLE。語法解析變成產(chǎn)生與語言相關的暫時語法樹,再將它們轉(zhuǎn)成GENERIC。之后再使用"gimplifier"技術降低GENERIC的復雜結(jié)構(gòu),成為一較簡單的靜態(tài)形式(Static Single Assignment form,SSA)基礎的GIMPLE形式。此形式是一個與語言和處理器架構(gòu)脫鉤的全域通用語言,適用于大多數(shù)的現(xiàn)代編程語言。
2、中介接口
一般編譯器作者會將語法樹放在前端,但其實此步驟并不看語言的種類而有不同,且不需要用到語法解析器。因此GCC作者們將此步驟歸入通稱為中介階段的部分里。此類包括消解死碼、消解重復運算與全域數(shù)值重編碼等。
3、后端接口
GCC后端的行為因不同的前處理器宏和特定架構(gòu)的功能而不同,例如不同的字符尺寸、呼叫方式與大小尾序等。后端接口的前半部利用這些訊息決定其RTL的生成形式,因此雖然GCC的RTL理論上不受處理器影響,但在此階段其抽象指令已被轉(zhuǎn)換成目標架構(gòu)的格式。
GCC的技巧依其釋出版本而有很大不同,但都包含了標準的算法,RTL由于可用的情形較少,且缺乏較高階的資訊,因此相比較起來,增加的GIMPLE語法樹形式,便顯得比較不重要。
后端經(jīng)由一次重讀取步驟后,利用描述目標處理器的指令集時所取得的信息,將抽象暫存器替換成處理器的真實暫存器。此階段非常復雜,因為它必須關注所有GCC可移植平臺的處理器指令集的規(guī)格與技術細節(jié)。
后端的最后步驟相當公式化,僅僅將前一階段得到的匯編語言代碼藉由簡單的子例程轉(zhuǎn)換其暫存器與內(nèi)存位置成相對應的機器碼。
GCC編譯器新版內(nèi)容
GCC 8.3 發(fā)布了,GCC 8.3 是 GCC 8 分支的 bug 修復版本,其中包含對 GCC 8.2 中的回歸和嚴重 bug 的重要修復,自上一版本以來修復了超過 153 個錯誤。
GCC(GNU Compiler Collection,GNU編譯器套裝),是一套由 GNU 開發(fā)的編程語言編譯器。它是一套以 GPL 及 LGPL 許可證所發(fā)行的自由軟件,也是 GNU計劃 的關鍵部分,亦是自由的 類Unix 及蘋果計算機 Mac OS X 操作系統(tǒng)的標準編譯器。GCC(特別是其中的C語言編譯器)也常被認為是跨平臺編譯器的事實標準。GCC 原本只能處理 C語言,隨后增加了處理 C++的能力,再之后也變得可處理 Fortran、Pascal、Objective-C、Java,以及 Ada 等多種語言。
新版更新主要是針對 Windows 操作系統(tǒng)的一個 C++ Microsoft ABI 位閾布局(bitfield layout)Bug 的修復(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 介紹了這缺陷的額外案例。開發(fā)團隊決定在單個改動中解決掉這個缺陷的所有案例,而不是只解決掉那些回歸。
GCC編譯器使用方法
使用UE新建一個文本,并編寫一段程序,保存為myFirstCProgram.c
#include
void main() {
printf("my first C program !");
}
打開命令行,執(zhí)行以下命令進行編譯
gcc myFirstCProgram.c -o myFirstCProgram
最后直接在命令行執(zhí)行以下命令
myFirstCProgram
運行情況如下圖所示
GCC編譯器安裝方法
1、安裝MinGW編譯管理安裝軟件
2、安裝好MinGW軟件后,找到安裝文件夾下的bin目錄,默認應該是:c:\MinGW\bin
3、系統(tǒng)環(huán)境變量的path中將路徑添加到最后
4、按window + R鍵 ,輸入cmd打開命令窗口后輸入命令安裝c語言編譯器: mingw-get install gcc
注意:輸入命令后需要按回車鍵,之間有一個空格,不能連在一起,命令窗口才可以識別,錯誤的如:mingw-getinstallgcc 缺少空格,命令窗口提示找不到,報錯
【可選】安裝以下屬于c++的編譯器:
5、安裝g++或者gdb 輸入命令: mingw-get install g++ && mingw-get install gdb
這時候就可以去編譯后綴為.c的c語言源碼了,在你的當前源碼文件夾按住shift鍵然后鼠標右鍵就會出現(xiàn)在此處打開命令窗口
然后輸入gcc 源碼文件名即可編程生成可執(zhí)行.exe文件了
如:
1.
2.
3.
4.
最基本的c語言代碼:
#include
int main()
{
printf("hello world");
return 0;
}
- 精選留言 來自福建龍巖移動用戶 發(fā)表于: 2023-6-24
- 先收藏,具體情況使用再評價
- 精選留言 來自吉林長春聯(lián)通用戶 發(fā)表于: 2023-3-28
- 不錯,頂一下
- 精選留言 來自江西九江電信用戶 發(fā)表于: 2023-6-20
- 太好了,正好在找這個軟件,謝謝了
- 精選留言 來自河北承德聯(lián)通用戶 發(fā)表于: 2023-5-5
- 簡單方便,值得應用
- 精選留言 來自甘肅武威聯(lián)通用戶 發(fā)表于: 2023-6-1
- 及時雨來了,感謝