GCC For Linux(GCC編譯器套件)
v4.9.1 官方版- 軟件大?。?span itemprop="fileSize">85.50 MB
- 軟件語(yǔ)言:中文
- 軟件類(lèi)型:國(guó)產(chǎn)軟件 / 編譯工具
- 軟件授權(quán): 免費(fèi)軟件
- 更新時(shí)間:2018-12-28 15:45:26
- 軟件等級(jí):
- 軟件廠商: -
- 應(yīng)用平臺(tái):WinXP, Win7, Win8, Win10
- 軟件官網(wǎng): 暫無(wú)
相關(guān)軟件
Source Insight(程序編譯器)v3.5 中文注冊(cè)版
3.75 MB/中文/10.0
Dev C++v6.3 Beta2 簡(jiǎn)體中文版
56.00 MB/中文/4.0
Resource Hacker(資源編譯器)v5.1.8 綠色漢化版
2.54 MB/中文/10.0
cfree5專(zhuān)業(yè)版(優(yōu)秀的c/c++編程開(kāi)發(fā)工具)v5.0 漢化破解版
14.00 MB/中文/6.0
code blocks(帶GNW編譯器)v17.12 中文完整版
85.00 MB/中文/1.0
軟件介紹人氣軟件精品推薦相關(guān)文章網(wǎng)友評(píng)論下載地址
GCC For Linux是gcc編譯器系列中的一種,包括C、C++、Fortran、Java、Objective-C、Ada和Go語(yǔ)言的前端,也包括了這些語(yǔ)言的庫(kù)(如libstdc++、libgcj等等),有需要的朋友快來(lái)IT貓撲網(wǎng)下載吧!
gcc編譯器軟件介紹
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ě)成。
前端接口
前端的功能在于產(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ǔ)言。
中介接口
一般編譯器作者會(huì)將語(yǔ)法樹(shù)放在前端,但其實(shí)此步驟并不看語(yǔ)言的種類(lèi)而有不同,且不需要用到語(yǔ)法解析器。因此GCC作者們將此步驟歸入通稱(chēng)為中介階段的部分里。此類(lèi)包括消解死碼、消解重復(fù)運(yùn)算與全域數(shù)值重編碼等?! ?/p>
后端接口
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編譯器(Linux)安裝教程
1. 獲取源代碼
從本站下載zip壓縮包解壓,解壓后從gcc-4.9.1.tar.gz獲取源代碼
2. 準(zhǔn)備工作
執(zhí)行./contrib/download_prerequisites。 這個(gè)命令會(huì)下載編譯gcc需要的依賴(lài)包。
3. 在gcc--4.9.1的平級(jí)目錄建一個(gè)編譯目錄(e.g. gcc-build-4.9.1)
4. 配置
cd gcc-build-4.9.1
../gcc-4.9.1/configure --prefix=/usr/local/gcc-4.9.1 --enable-threads=posix --enable-stage1-checking=release --enable-stage1-languages=c,c++ --disable-multilib
5. 編譯
make
6. 安裝
make install
7. 修改環(huán)境變量
export PATH=/usr/local/gcc-4.9.1/bin/:$PATH
8. 查看gcc版本
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.9.1/libexec/gcc/x86_64-unknown-linux-gnu/4.9.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.9.1/configure --prefix=/usr/local/gcc-4.9.1 --enable-threads=posix --enable-stage1-checking=release --enable-stage1-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 4.9.1 (GCC)?
gcc編譯器使用方法
在使用GCC編譯器的時(shí)候,我們必須給出一系列必要的調(diào)用參數(shù)和文件名稱(chēng)。GCC編譯器的調(diào)用參數(shù)大約有100多個(gè),這里只介紹其中最基本、最常用的參數(shù)。具體可參考GCC Manual。
GCC最基本的用法是∶gcc [options] [filenames]
其中options就是編譯器所需要的參數(shù),filenames給出相關(guān)的文件名稱(chēng)。
-c,只編譯,不鏈接成為可執(zhí)行文件,編譯器只是由輸入的.c等源代碼文件生成.o為后綴的目標(biāo)文件,通常用于編譯不包含主程序的子程序文件。
-o output_filename,確定輸出文件的名稱(chēng)為output_filename,同時(shí)這個(gè)名稱(chēng)不能和源文件同名。如果不給出這個(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類(lèi)使用尖括號(hào)(< >),B類(lèi)使用雙引號(hào)(“ ”)。對(duì)于A類(lèi),預(yù)處理程序cpp在系統(tǒng)預(yù)設(shè)包含文件目錄(如/usr/include)中搜尋相應(yīng)的文件,而B(niǎo)類(lèi),預(yù)處理程序在目標(biāo)文件的文件夾內(nèi)搜索相應(yīng)文件。
-v gcc執(zhí)行時(shí)執(zhí)行的詳細(xì)過(guò)程,gcc及其相關(guān)程序的版本號(hào)
原版gcc manual該選項(xiàng)英文解釋
Print (on standard error output) the commands executed to run the stages of compilation. Also print the version number of the compiler driver program and of the preprocessor and the compiler proper.
編譯程序時(shí)加上該選項(xiàng)可以看到gcc搜索頭文件/庫(kù)文件時(shí)使用的搜索路徑!
gcc編譯器基本規(guī)則
gcc所遵循的部分約定規(guī)則:
.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ǔ)言源代碼文件。
更新日志
1:全新界面,清爽,簡(jiǎn)單,高效;
2:性能越來(lái)越好。
更多>> 軟件截圖
推薦應(yīng)用
Red Gate .NET Reflector(.net 反編譯工具) 63.00 MB
下載/中文/10.0 v9.0.2 漢化中文綠色版Apk+Dex文件反編譯及回編譯工具合集(APKDB) 21.47 MB
下載/中文/10.0 v2.1.3(20170108b) 官方最新版code blocks(帶GNW編譯器) 85.00 MB
下載/中文/1.0 v17.12 中文完整版c-free(最簡(jiǎn)單易用C語(yǔ)言編譯器) 13.97 MB
下載/中文/6.0 v5.0 免費(fèi)注冊(cè)版OllyDbg調(diào)試器 24.24 MB
下載/中文/10.0 v2.01 綠色中文破解版
其他版本下載
精品推薦 編譯器
- 更多 (29個(gè)) >> 編譯器 編譯器用得最多的就是java編譯器、c語(yǔ)言編譯器了,門(mén)類(lèi)多,選擇的軟件也比較多,至于哪一款適合開(kāi)發(fā)人員使用,就看你具體的用途了。編譯是從源代碼(通常為高級(jí)語(yǔ)言)到能直接被計(jì)算機(jī)或虛擬機(jī)執(zhí)行的目標(biāo)代碼(通常為低級(jí)語(yǔ)言或機(jī)器語(yǔ)言)的翻譯過(guò)程。然而,也存在從低級(jí)語(yǔ)言到高級(jí)語(yǔ)言的編譯器,
c-free(最簡(jiǎn)單易用C語(yǔ)言編譯器) 13.97 MB
/中文/6.0code blocks(帶GNW編譯器) 85.00 MB
/中文/1.0gcc編譯器安裝文件 12.43 MB
/中文/10.0PB反編譯器(PBKiller) 5.60 MB
/中文/10.0cosmic stm8 32k編譯器破解版 8.78 MB
/中文/2.0C/C++集成開(kāi)發(fā)環(huán)境(codeblocks) 44.40 MB
/中文/8.0黑月編譯器插件(支持易語(yǔ)言5.3x) 8.14 MB
/中文/10.0MySpringc手機(jī)編譯器(簡(jiǎn)化的C語(yǔ)言編譯器) 1.13 MB
/中文/10.0
相關(guān)文章
下載地址
GCC For Linux(GCC編譯器套件) v4.9.1 官方版
查看所有評(píng)論>> 網(wǎng)友評(píng)論
更多>> 猜你喜歡