網(wǎng)友評(píng)分:
5.3分
GNU編譯器是一款非常強(qiáng)大并且好用的編程語(yǔ)言編譯器軟件,是一套以 GPL 及 LGPL許可證所發(fā)行的自由軟件,亦是自由的類(lèi)Unix 及蘋(píng)果計(jì)算機(jī) Mac OS X 操作系統(tǒng)的標(biāo)準(zhǔn)編譯器,它原本只能處理 C語(yǔ)言,但其很快地?cái)U(kuò)展,變得可處理 C++。之后也變得可處理 Fortran、Pascal、Objective-C、Java, 以及 Ada 與其他語(yǔ)言。
1、GNU編譯器以GPL及LGPL許可證所發(fā)行的自由軟件;
2、既能處理C語(yǔ)言,也能處理C++;
3、支持Fortran、Pascal、Objective-C、Java,以及Ada與其他語(yǔ)言;
4、gcc編譯器支持跨windows、mac、linux等平臺(tái);
5、可以透支和保存文件;
6、可以解決一個(gè)共同的碰撞;
7、可以進(jìn)行解析器的越界。
GNU的外部接口長(zhǎng)得像一個(gè)標(biāo)準(zhǔn)的Unix編譯器。使用者在命令列下鍵入GNU之程序名,以及一些命令參數(shù),以便決定每個(gè)輸入檔案使用的個(gè)別語(yǔ)言編譯器,并為輸出程序碼使用適合此硬件平臺(tái)的組合語(yǔ)言編譯器,并且選擇性地執(zhí)行連接器以制造可執(zhí)行的程序。每個(gè)語(yǔ)言編譯器都是獨(dú)立程序,此程序可處理輸入的原始碼,并輸出組合語(yǔ)言碼。
全部的語(yǔ)言編譯器都擁有共通的中介架構(gòu):一個(gè)前端解析符合此語(yǔ)言的原始碼,并產(chǎn)生一抽象語(yǔ)法樹(shù),以及一翻譯此語(yǔ)法樹(shù)成為GNU的暫存器轉(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)出。幾乎全部的GNU都由C寫(xiě)成,除了Ada前端大部分以Ada寫(xiě)成。
GNU所遵循的部分約定規(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ǔ)言源代碼文件。
標(biāo)簽: GNU編譯器 編程開(kāi)發(fā)
關(guān)于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們
Copyright ? 2005-2024 virtualinsta360.com.All rights reserved.
浙ICP備2024132706號(hào)-1 浙公網(wǎng)安備33038102330474號(hào)