當(dāng)前位置:首頁(yè) > 電腦軟件 > 調(diào)試編譯 > Gcc編譯器(Gcc For Windows)

Gcc編譯器(Gcc For Windows)

大?。?2.43M 語(yǔ)言:簡(jiǎn)體中文 類別:調(diào)試編譯
  • 類型:國(guó)產(chǎn)軟件
  • 授權(quán):免費(fèi)軟件
  • 更新:2023-11-11
  • 標(biāo)簽: c語(yǔ)言編譯器
  • 環(huán)境:Windows11,Windows10,Windows8,Windows7
  • 本地下載
9
0% 0%

情介紹

Gcc編譯器是GNU開(kāi)發(fā)的編程語(yǔ)言編譯器,由GPL許可證所發(fā)現(xiàn)的自由軟件。它可處理多種編程語(yǔ)言,如C語(yǔ)言、Fortran、Pascal、Objective-C、Java和Ada以及各類處理器架構(gòu)上的匯編語(yǔ)言等。Gcc編譯器的外部接口類似一個(gè)標(biāo)準(zhǔn)的Unix編譯器,用戶可在命令列下鍵入Gcc之程序名,以及一些命令參數(shù),以此可方便用戶決定每個(gè)輸入檔案使用的個(gè)別語(yǔ)言編譯器,并為輸出程序碼使用適合此硬件平臺(tái)的組合語(yǔ)言編譯器,并且選擇性地執(zhí)行連接器以制造可執(zhí)行的程序。在Gcc編譯器中每個(gè)語(yǔ)言編譯器都是獨(dú)立程序,而這些程序可處理輸入的原始碼,并輸出組合語(yǔ)言碼。同時(shí)全部的語(yǔ)言編譯器都擁有共通的中介架構(gòu):一個(gè)前端解析符合此語(yǔ)言的原始碼,并產(chǎn)生一抽象語(yǔ)法樹(shù),以及一翻譯此語(yǔ)法樹(shù)成為GCC的暫存器轉(zhuǎn)換語(yǔ)言〈RTL〉的后端。Gcc編譯器的接口主要分為前端接口、中介接口和后端接口,每個(gè)接口都為用戶提供不同的功能。其中前端接口主要是用于產(chǎn)生一個(gè)可讓后端處理之語(yǔ)法樹(shù),而中介接口主要有消解死碼、消解重復(fù)運(yùn)算與全域數(shù)值重編碼等功能。
gcc編譯器官方下載

gcc編譯器安裝教程

一、安裝了MinGW,在其根目錄下的bin文件夾中發(fā)現(xiàn)有等文件。為了測(cè)試,在該文件夾中新建了一個(gè)test.bat文件,將其中內(nèi)容寫(xiě)為:gcc test.cpp
二、在該文件夾中創(chuàng)建test.cpp文件并將其內(nèi)容設(shè)置為:
1.雙擊test.bat文件,發(fā)現(xiàn)該文件夾中產(chǎn)生了一個(gè)a.exe文件,執(zhí)行該exe文件,發(fā)現(xiàn)其與預(yù)期編譯效果一致,說(shuō)明編譯成功。gcc –o name test.cpp
2.可以生成名為name.exe的可執(zhí)行程序
3.把指令改為gcc –e test.cpp >test.txt 后,提示錯(cuò)誤gcc: no input files
4.而把參數(shù)E改為大寫(xiě)之后問(wèn)題即解決:gcc –E test.cpp > test.txt

Gcc編譯器電腦版使用方法

一、Gcc編譯器常用選項(xiàng)
1.編譯選項(xiàng)
gcc有超過(guò)100個(gè)的編譯選項(xiàng)可用。具體的可以使用命令man gcc察看
2.優(yōu)化選項(xiàng)
用GCC編譯C/C++代碼時(shí),它會(huì)試著用最少的時(shí)間完成編譯并且編譯后的代碼易于調(diào)試。易于調(diào)試意味著編譯后的代碼與源代碼有同樣的執(zhí)行順序,編譯后的代碼沒(méi)有經(jīng)過(guò)優(yōu)化。有很多的選項(xiàng)可以告訴GCC在耗費(fèi)更多編譯時(shí)間和犧牲易調(diào)試性的基礎(chǔ)上產(chǎn)生更小更快的可執(zhí)行文件。這些選項(xiàng)中最典型的就是-O和-O2。-O選項(xiàng)告訴gcc對(duì)源代碼進(jìn)行基本優(yōu)化。-O2選項(xiàng)告訴GCC產(chǎn)生盡可能小的和盡可能快的代碼。還有一些很特殊的選項(xiàng)可以通過(guò)man gcc察看
3.調(diào)試和剖析選項(xiàng)
GCC支持?jǐn)?shù)種調(diào)試剖析選項(xiàng)。在這些選項(xiàng)中最常用的是-g和-pg.-g選項(xiàng)告訴gcc產(chǎn)生能被GNU調(diào)試器(如gdb)使用的調(diào)試信息,以便調(diào)試用戶的程序。-pg選項(xiàng)告訴gcc在用戶的程序中加入額外的代碼,執(zhí)行時(shí),產(chǎn)生gprof用的剖析信息以顯示程序的耗時(shí)情況
二、使用GDB方法
1.在命令行中鍵入gdb并按回車就可以運(yùn)行g(shù)db了,啟動(dòng)gdb后,能在命令行上制定很多的選項(xiàng),也可以下面的方式來(lái)運(yùn)行g(shù)db: gdb filename 用這種方式運(yùn)行g(shù)db時(shí),能直接指定想要調(diào)試的程序。在命令行上健入gdb -h得到一個(gè)有關(guān)gdb的選項(xiàng)的說(shuō)明簡(jiǎn)單列表
2.編譯代碼以供調(diào)試,為了使gdb工作,必須使程序在編譯時(shí)包含調(diào)試信息,調(diào)試信息包含程序里的每個(gè)變量的類型,在可執(zhí)行文件里的地址映射以及源代碼的行號(hào)。gdb利用這些信息使源代碼和機(jī)器碼相關(guān)聯(lián)
三、內(nèi)容錯(cuò)誤查找
1.運(yùn)行 gdb bugging 命令,裝入 bugging 可執(zhí)行文件
2.執(zhí)行裝入的 bugging 命令
3.使用 where 命令查看程序出錯(cuò)的地方
4.利用 list 命令查看調(diào)用 gets 函數(shù)附近的代碼
5.唯一能夠?qū)е?gets 函數(shù)出錯(cuò)的因素就是變量string,用print命令查看string的值
6.在 gdb 中,我們可以直接修改變量的值,只要將 string 取一個(gè)合法的指針值就可以了,為此,我們?cè)诘?1行處設(shè)置斷
7.程序重新運(yùn)行到第11行處停止,這時(shí),我們可以用 set variable 命令修改 string 的取值
8.然后繼續(xù)運(yùn)行,將看到正確的程序運(yùn)行結(jié)果

使用示例

一、示例代碼
int main(void)
{printf("hello\n")
 return 0
二、預(yù)編譯過(guò)程
1.這個(gè)過(guò)程處理宏定義和include,并做語(yǔ)法檢查
2.可以看到預(yù)編譯后,代碼從6行擴(kuò)展到了910行
三、編譯過(guò)程
這個(gè)階段,生成匯編代碼
四、匯編過(guò)程
1.這個(gè)階段,生成目標(biāo)代碼
2.此過(guò)程生成ELF格式的目標(biāo)代碼
五、鏈接過(guò)程
鏈接過(guò)程。生成可執(zhí)行代碼。鏈接分為兩種,一種是靜態(tài)鏈接,另外一種是動(dòng)態(tài)鏈接。使用靜態(tài)鏈接的好處是,依賴的動(dòng)態(tài)鏈接庫(kù)較少,對(duì)動(dòng)態(tài)鏈接庫(kù)的版本不會(huì)很敏感,具有較好的兼容性;缺點(diǎn)是生成的程序比較大。使用動(dòng)態(tài)鏈接的好處是,生成的程序比較小,占用較少的內(nèi)存
六、程序運(yùn)行
七、以hello.c為例子,在這四個(gè)步驟中可以設(shè)置選項(xiàng)分別生成hello.i, hello.s, hello.o以及最終的hello文件:
hello.c: 最初的源代碼文件
hello.i: 經(jīng)過(guò)編譯預(yù)處理的源代碼
hello.s: 匯編處理后的匯編代碼
hello.o: 編譯后的目標(biāo)文件,即含有最終編譯出的機(jī)器碼,但它里
面所引用的其他文件中函數(shù)的內(nèi)存位置尚未定義
hello / a.out: 最終的可執(zhí)行文件

Gcc編譯器結(jié)構(gòu)

GCC的外部接口長(zhǎng)得像一個(gè)標(biāo)準(zhǔn)的Unix編譯器。使用者在命令列下鍵入gcc之程序名,以及一些命令參數(shù),以便決定每個(gè)輸入檔案使用的個(gè)別語(yǔ)言編譯器,并為輸出程序碼使用適合此硬件平臺(tái)的組合語(yǔ)言編譯器,并且選擇性地執(zhí)行連接器以制造可執(zhí)行的程序
每個(gè)語(yǔ)言編譯器都是獨(dú)立程序,此程序可處理輸入的原始碼,并輸出組合語(yǔ)言碼。全部的語(yǔ)言編譯器都擁有共通的中介架構(gòu):一個(gè)前端解析符合此語(yǔ)言的原始碼,并產(chǎn)生一抽象語(yǔ)法樹(shù),以及一翻譯此語(yǔ)法樹(shù)成為GCC的暫存器轉(zhuǎn)換語(yǔ)言〈RTL〉的后端。編譯器最佳化與靜態(tài)程序碼解析技術(shù)(例如FORTIFY_SOURCE,一個(gè)試圖發(fā)現(xiàn)緩沖區(qū)溢位〈buffer overflow〉的編譯器)在此階段應(yīng)用于程序碼上。最后,適用于此硬件架構(gòu)的組合語(yǔ)言程序碼以Jack Davidson與Chris Fraser發(fā)明的算法產(chǎn)出。幾乎全部的GCC都由C寫(xiě)成,除了Ada前端大部分以Ada寫(xiě)成
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中。它們稱為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ǔ)言的種類而有不同,且不需要用到語(yǔ)法解析器。因此GCC作者們將此步驟歸入通稱為中介階段的部分里。此類的最佳化包括消解死碼、消解重復(fù)運(yùn)算與全域數(shù)值重編碼等。許多最佳化技巧也正在實(shí)作中
3、后端接口
GCC后端的行為因不同的前處理器宏和特定架構(gòu)的功能而不同,例如不同的字符尺寸、呼叫方式與大小尾序等。后端接口的前半部利用這些訊息決定其RTL的生成形式,因此雖然GCC的RTL理論上不受處理器影響,但在此階段其抽象指令已被轉(zhuǎn)換成目標(biāo)架構(gòu)的格式
GCC的最佳化技巧依其釋出版本而有很大不同,但都包含了標(biāo)準(zhǔn)的最佳化算法,例如循環(huán)最佳化、執(zhí)行緒跳躍、共通程序子句消減、指令排程等等。而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ī)器碼

文件類型

.c為后綴的文件,C語(yǔ)言源代碼文件
.a為后綴的文件,是由目標(biāo)文件構(gòu)成的檔案庫(kù)文件
.C,.cc或.cxx 為后綴的文件,是C++源代碼文件且必須要經(jīng)過(guò)預(yù)處理
.h為后綴的文件,是程序所包含的頭文件
.i 為后綴的文件,是C源代碼文件且不應(yīng)該對(duì)其執(zhí)行預(yù)處理
.ii為后綴的文件,是C++源代碼文件且不應(yīng)該對(duì)其執(zhí)行預(yù)處理
.m為后綴的文件,是Objective-C源代碼文件
.mm為后綴的文件,是Objective-C++源代碼文件
.o為后綴的文件,是編譯后的目標(biāo)文件
.s為后綴的文件,是匯編語(yǔ)言源代碼文件
.S為后綴的文件,是經(jīng)過(guò)預(yù)編譯的匯編語(yǔ)言源代碼文件

Gcc編譯器參數(shù)

在使用GCC編譯器的時(shí)候,我們必須給出一系列必要的調(diào)用參數(shù)和文件名稱。GCC編譯器的調(diào)用參數(shù)大約有100多個(gè),這里只介紹其中最基本、最常用的參數(shù)。具體可參考GCC Manual:
GCC最基本的用法是∶gcc [options] [filenames]其中options就是編譯器所需要的參數(shù),filenames給出相關(guān)的文件名稱
-c 只編譯,不鏈接成為可執(zhí)行文件,編譯器只是由輸入的.c等源代碼文件生成.o為后綴的目標(biāo)文件,通常用于編譯不包含主程序的子程序文件。
-o output_filename,確定輸出文件的名稱為output_filename,同時(shí)這個(gè)名稱不能和源文件同名。如果不給出這個(gè)選項(xiàng),gcc就給出預(yù)設(shè)的可執(zhí)行文件a.out。
-g 產(chǎn)生符號(hào)調(diào)試工具(GNU的gdb)所必要的符號(hào)資訊,要想對(duì)源代碼進(jìn)行調(diào)試,我們就必須加入這個(gè)選項(xiàng)。
-O 對(duì)程序進(jìn)行優(yōu)化編譯、鏈接,采用這個(gè)選項(xiàng),整個(gè)源代碼會(huì)在編譯、鏈接過(guò)程中進(jìn)行優(yōu)化處理,這樣產(chǎn)生的可執(zhí)行文件的執(zhí)行效率可以提高,但是,編譯、鏈接的速度就相應(yīng)地要慢一些
-O2比-O更好的優(yōu)化編譯、鏈接,當(dāng)然整個(gè)編譯、鏈接過(guò)程會(huì)更慢
-Idirname,將dirname所指出的目錄加入到程序頭文件目錄列表中,是在預(yù)編譯過(guò)程中使用的參數(shù)。C程序中的頭文件包含兩種情況∶
A)#include
B)#include “myinc.h”
其中,A類使用尖括號(hào)(< >),B類使用雙引號(hào)(“ ”)。對(duì)于A類,預(yù)處理程序cpp在系統(tǒng)預(yù)設(shè)包含文件目錄(如/usr/include)中搜尋相應(yīng)的文件,而B(niǎo)類,預(yù)處理程序在目標(biāo)文件的文件夾內(nèi)搜索相應(yīng)文件
-v gcc執(zhí)行時(shí)執(zhí)行的詳細(xì)過(guò)程,gcc及其相關(guān)程序的版本
-llibrary 制定編譯的時(shí)候使用的庫(kù),例子用法gcc -lcurses hello.c使用ncurses庫(kù)編譯程序
-Ldir 制定編譯的時(shí)候,搜索庫(kù)的路徑。比如你自己的庫(kù),可以用它制定目錄,不然編譯器將只在標(biāo)準(zhǔn)庫(kù)的目錄找。這個(gè)dir就是目錄的名稱。   
-gstabs 此選項(xiàng)以stabs格式聲稱調(diào)試信息,但是不包括gdb調(diào)試信息.  
-gstabs+ 此選項(xiàng)以stabs格式聲稱調(diào)試信息,并且包含僅供gdb使用的額外調(diào)試信息.
-ggdb 此選項(xiàng)將盡可能的生成gdb的可以使用的調(diào)試信息.
-static 此選項(xiàng)將禁止使用動(dòng)態(tài)庫(kù),所以,編譯出來(lái)的東西,一般都很大,也不需要什么 動(dòng)態(tài)連接庫(kù),就可以運(yùn)行.
-share 此選項(xiàng)將盡量使用動(dòng)態(tài)庫(kù),所以生成文件比較小,但是需要系統(tǒng)由動(dòng)態(tài)庫(kù).
-traditional 試圖讓編譯器支持傳統(tǒng)的C語(yǔ)言特性
-fno-asm 此選項(xiàng)實(shí)現(xiàn)ansi選項(xiàng)的功能的一部分,它禁止將asm,inline和typeof用作
-fno-strict-prototype 只對(duì)g++起作用,使用這個(gè)選項(xiàng),g++將對(duì)不帶參數(shù)的函數(shù),都認(rèn)為是沒(méi)有顯式的對(duì)參數(shù)的個(gè)數(shù)和類型說(shuō)明,而不是沒(méi)有參數(shù),而gcc無(wú)論是否使用這個(gè)參數(shù),都將對(duì)沒(méi)有帶參數(shù)的函數(shù),認(rèn)為城沒(méi)有顯式說(shuō)明的類型
-fthis-is-varialble 就是向傳統(tǒng)c++看齊,可以使用this當(dāng)一般變量使用.
-fcond-mismatch 允許條件表達(dá)式的第二和第三參數(shù)類型不匹配,表達(dá)式的值將為void類型
-funsigned-char
-fno-signed-char
-fsigned-char
-fno-unsigned-char
這四個(gè)參數(shù)是對(duì)char類型進(jìn)行設(shè)置,決定將char類型設(shè)置成unsigned char(前兩個(gè)參數(shù))或者 signed char(后兩個(gè)參數(shù))
-include file 包含某個(gè)代碼,簡(jiǎn)單來(lái)說(shuō),就是便以某個(gè)文件,需要另一個(gè)文件的時(shí)候,就可以用它設(shè)定,功能就相當(dāng)于在代碼中使用#include
例子用法:
gcc hello.c -include /root/pianopan.h
-imacros file 將file文件的宏,擴(kuò)展到gcc/g++的輸入文件,宏定義本身并不出現(xiàn)在輸入文件中
-Dmacro 相當(dāng)于C語(yǔ)言中的#define macro
-Dmacro=defn 相當(dāng)于C語(yǔ)言中的#define macro=defn
-Umacro 相當(dāng)于C語(yǔ)言中的#undef macro
-undef 取消對(duì)任何非標(biāo)準(zhǔn)宏的定義
-Idir 在你是用#include"file"的時(shí)候,gcc/g++會(huì)先在當(dāng)前目錄查找你所制定的頭文件,如果沒(méi)有找到,他回到缺省的頭文件目錄找,如果使用-I制定了目錄,他回先在你所制定的目錄查找,然后再按常規(guī)的順序去找.對(duì)于#include,gcc/g++會(huì)到-I制定的目錄查找,查找不到,然后將到系統(tǒng)的缺省的頭文件目錄查找
-I- 就是取消前一個(gè)參數(shù)的功能,所以一般在-Idir之后使用
-idirafter dir 在-I的目錄里面查找失敗,講到這個(gè)目錄里面查找.
-iprefix prefix
-iwithprefix dir 一般一起使用,當(dāng)-I的目錄查找失敗,會(huì)到prefix+dir下查
-nostdinc 使編譯器不再系統(tǒng)缺省的頭文件目錄里面找頭文件,一般和-I聯(lián)合使用,明確限定頭文件的位置
-nostdin C++ 規(guī)定不在g++指定的標(biāo)準(zhǔn)路經(jīng)中搜索,但仍在其他路徑中搜索,.此選項(xiàng)在創(chuàng)建libg++庫(kù)使用
-C 在預(yù)處理的時(shí)候,不刪除注釋信息,一般和-E使用,有時(shí)候分析程序,用這個(gè)很方便的  
-M 生成文件關(guān)聯(lián)的信息。包含目標(biāo)文件所依賴的所有源代碼,你可以用gcc -M hello.c來(lái)測(cè)試一下,很簡(jiǎn)單。  
-MM 和上面的那個(gè)一樣,但是它將忽略由#include造成的依賴關(guān)系。  
-MD 和-M相同,但是輸出將導(dǎo)入到.d的文件里面
-MMD 和-MM相同,但是輸出將導(dǎo)入到.d的文件里面
-Wa,option 此選項(xiàng)傳遞option給匯編程序;如果option中間有逗號(hào),就將option分成多個(gè)選項(xiàng),然后傳遞給會(huì)匯編程序

執(zhí)行程序

1、Pre-Processing預(yù)處理
gcc  -E  hello.c  -o  hello.i //完成頭文件和宏定義的展開(kāi),生成hello.i預(yù)處理文件
2、Compiling編譯
gcc  -S  hello.i //生成匯編代碼,生成hello.s的匯編文件
3、Assembling  匯編
gcc  -c  hello.s //生成二進(jìn)制目標(biāo)文件,生成hello.o文件
4、Linking 鏈接
gcc  hello.o  -o  hello //鏈接相關(guān)庫(kù),生成可執(zhí)行文件hello,沒(méi)有后綴
PS:一般生成可執(zhí)行程序,可以直接:gcc  hello.c  -o  hello

Gcc編譯器命令

在gdb提示符處鍵入help,將列出命令的分類,主要的分類有:
aliases:命令別名
breakpoints:斷點(diǎn)定義
data:數(shù)據(jù)查看
files:指定并查看文件
internals:維護(hù)命令
running:程序執(zhí)行
stack:調(diào)用棧查看
statu:狀態(tài)查看
tracepoints:跟蹤程序執(zhí)行
鍵入help后跟命令的分類名,可獲得該類命令的詳細(xì)清單:
break NUM 在指定的行上設(shè)置斷點(diǎn)
bt 顯示所有的調(diào)用棧幀。該命令可用來(lái)顯示函數(shù)的調(diào)用順序
clear 刪除設(shè)置在特定源文件、特定行上的斷點(diǎn)。其用法為:clear FILENAME:NUM
continue 繼續(xù)執(zhí)行正在調(diào)試的程序。該命令用在程序由于處理信號(hào)或斷點(diǎn)而導(dǎo)致停止運(yùn)行時(shí)
display EXPR 每次程序停止后顯示表達(dá)式的值。表達(dá)式由程序定義的變量組成
file FILE 裝載指定的可執(zhí)行文件進(jìn)行調(diào)試
help NAME 顯示指定命令的幫助信息
info break 顯示當(dāng)前斷點(diǎn)清單,包括到達(dá)斷點(diǎn)處的次數(shù)等
info files 顯示被調(diào)試文件的詳細(xì)信息
info func 顯示所有的函數(shù)名稱
info local 顯示當(dāng)函數(shù)中的局部變量信息
info prog 顯示被調(diào)試程序的執(zhí)行狀態(tài)
info var 顯示所有的全局和靜態(tài)變量名稱
kill 終止正被調(diào)試的程序
list 顯示源代碼段
make 在不退出 gdb 的情況下運(yùn)行 make 工具
next 在不單步執(zhí)行進(jìn)入其他函數(shù)的情況下,向前執(zhí)行一行源代碼
print EXPR 顯示表達(dá)式 EXPR 的值

Gcc編譯器處理器架構(gòu)

Alpha
ARM
Atmel AVR
Blackfin
H8/300
IA-32〈x86〉 與x86-64
IA-64例如:Itanium
MorphoSys 家族
Motorola 68000
Motorola 88000
MIPS
PA-RISC
PDP-11
PowerPC
System/370,System/390
SuperH
HC12
SPARC
VAX
Renesas R8C/M16C/M32C家族
A29K
ARC
C4x
CRIS
D30V
DSP16xx
FR-30
FR-V
Intel i960
IP2000
M32R
68HC11
MCORE
MMIX
MN10200
MN10300
NS32K
ROMP
Stormy16
V850
Xtensa
D10V
MicroBlaze
PDP-10
MSP430
Z8000

載地址

  • 電腦版
Gcc編譯器(Gcc For Windows)

您喜歡

c語(yǔ)言編譯器大全
c語(yǔ)言編譯器大全
學(xué)習(xí)C語(yǔ)言編程,離不開(kāi)C語(yǔ)言編譯器和集成開(kāi)發(fā)工具的支持。C語(yǔ)言編譯器是將C語(yǔ)言編寫(xiě)的程序源文件翻譯成二進(jìn)制可執(zhí)行代碼的軟件。市面上C語(yǔ)言編譯器有非常多,到底哪個(gè)好?小編經(jīng)過(guò)測(cè)試,著重推薦Gcc編譯器、Clang編譯器、turbo c、DevC++這些C語(yǔ)言編譯器。它們不僅編譯速度和效率非常高,而且支持多平臺(tái)操作,歡迎有需要的朋友下載支持!

網(wǎng)友評(píng)論

0條評(píng)論
(您的評(píng)論需要經(jīng)過(guò)審核才能顯示)