當前位置:首頁 » 編程軟體 » gnu編譯器

gnu編譯器

發布時間: 2022-01-20 15:24:41

① 我的linux上面為什麼沒有gcc編譯

1. 下載

在GCC網站上(http://gcc.gnu.org/)或者通過網上搜索可以查找到下載資源。目前GCC的最新版本為 3.4.0。可供下載的文件一般有兩種形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,只是壓縮格式不一樣,內容完全一致,下載其中一種即可。

2. 解壓

根據壓縮格式,選擇下面相應的一種方式解包(以下的「%」表示命令行提示符):

% tar xzvf gcc-3.4.0.tar.gz
或者
% bzcat gcc-3.4.0.tar.bz2 | tar xvf -

新生成的gcc-3.4.0這個目錄被稱為源目錄,用${srcdir}表示它。以後在出現${srcdir}的地方,應該用真實的路徑來替換它。用pwd命令可以查看當前路徑。

在${srcdir}/INSTALL目錄下有詳細的GCC安裝說明,可用瀏覽器打開index.html閱讀。

3. 建立目標目錄

目標目錄(用${objdir}表示)是用來存放編譯結果的地方。GCC建議編譯後的文件不要放在源目錄${srcdir]中(雖然這樣做也可以),最好單獨存放在另外一個目錄中,而且不能是${srcdir}的子目錄。

例如,可以這樣建立一個叫 gcc-build 的目標目錄(與源目錄${srcdir}是同級目錄):

% mkdir gcc-build
% cd gcc-build

以下的操作主要是在目標目錄 ${objdir} 下進行。

4. 配置

配置的目的是決定將GCC編譯器安裝到什麼地方(${destdir}),支持什麼語言以及指定其它一些選項等。其中,${destdir}不能與${objdir}或${srcdir}目錄相同。

配置是通過執行${srcdir}下的configure來完成的。其命令格式為(記得用你的真實路徑替換${destdir}):

% ${srcdir}/configure --prefix=${destdir} [其它選項]

例如,如果想將GCC 3.4.0安裝到/usr/local/gcc-3.4.0目錄下,則${destdir}就表示這個路徑。

在我的機器上,我是這樣配置的:

% ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java

將GCC安裝在/usr/local/gcc-3.4.0目錄下,支持C/C++和JAVA語言,其它選項參見GCC提供的幫助說明。

5. 編譯

% make

這是一個漫長的過程。在我的機器上(P4-1.6),這個過程用了50多分鍾。

6. 安裝

執行下面的命令將編譯好的庫文件等拷貝到${destdir}目錄中(根據你設定的路徑,可能需要管理員的許可權):

% make install

至此,GCC 3.4.0安裝過程就完成了。

6. 其它設置

GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、庫文件等都在${destdir}目錄下分別存放,如命令文件放在bin目錄下、庫文件在lib下、頭文件在include下等。由於命令文件和庫文件所在的目錄還沒有包含在相應的搜索路徑內,所以必須要作適當的設置之後編譯器才能順利地找到並使用它們。

6.1 gcc、g++、gcj的設置

要想使用GCC 3.4.0的gcc等命令,簡單的方法就是把它的路徑${destdir}/bin放在環境變數PATH中。我不用這種方式,而是用符號連接的方式實現,這樣做的好處是我仍然可以使用系統上原來的舊版本的GCC編譯器。

首先,查看原來的gcc所在的路徑:

% which gcc

在我的系統上,上述命令顯示:/usr/bin/gcc。因此,原來的gcc命令在/usr/bin目錄下。我們可以把GCC 3.4.0中的gcc、g++、gcj等命令在/usr/bin目錄下分別做一個符號連接:

% cd /usr/bin
% ln -s ${destdir}/bin/gcc gcc34
% ln -s ${destdir}/bin/g++ g++34
% ln -s ${destdir}/bin/gcj gcj34

這樣,就可以分別使用gcc34、g++34、gcj34來調用GCC 3.4.0的gcc、g++、gcj完成對C、C++、JAVA程序的編譯了。同時,仍然能夠使用舊版本的GCC編譯器中的gcc、g++等命令。

6.2 庫路徑的設置

將${destdir}/lib路徑添加到環境變數LD_LIBRARY_PATH中,最好添加到系統的配置文件中,這樣就不必要每次都設置這個環境變數了。

例如,如果GCC 3.4.0安裝在/usr/local/gcc-3.4.0目錄下,在RH Linux下可以直接在命令行上執行或者在文件/etc/profile中添加下面一句:

setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH

7. 測試

用新的編譯命令(gcc34、g++34等)編譯你以前的C、C++程序,檢驗新安裝的GCC編譯器是否能正常工作。

8. 根據需要,可以刪除或者保留${srcdir}和${objdir}目錄。

如果用的是ubuntu或者是fedora的話 可以在源里直接安裝

② gcc編譯器

找了半天就這個,
ftp://ftp2.sco.com/pub/skunkware/osr5/devtools/gcc/
不過好像不是最新版的

官網的就可以啊
http://gcc.gnu.org/mirrors.html

下面那些鏈接,第一個就行,有打不開的試試別的

# Austria: gd.tuwien.ac.at, thanks to Antonin dot Sprinzl at tuwien dot ac dot at
# Bulgaria: gcc.igor.onlinedirect.bg, thanks to igor at onlinedirect dot bg
# Canada, Toronto: http://gcc-ca.internet.bs, thanks to Internet.bs (info at internet dot bs)
# China: ftp://linuxforum.net/ftp.gcc.gnu.org/, thanks to David Deng (david99deng at yahoo dot com)
——————
提示是gcc命令不存在啊

裝了gcc了?

③ windows怎麼安裝gnu c編譯器

Windows安裝GNU編譯器使用makefile
一、下載安裝MinGW

下載後,運行程序:mingw-get-inst-20120426.exe,選擇download latest repository catalogues. 選擇編譯器是勾選C Compiler 與C++ Compiler,點擊next進行下載及安裝。

二、設置環境變數
右擊計算機->屬性->高級系統設置->環境變數,在系統變數中找到PATH,將MinGW安裝目錄里的bin文件夾的地址添加到PATH裡面,(注意:PATH里兩個目錄之間以英文的;隔開)。打開MinGW的安裝目錄,打開bin文件夾,將mingw32-make.exe重命名為make.exe。

三、測試GCC編譯
創建一下test.c,用記事本打開該文件,將以下內容復制到文件中。

[cpp] view plain
#include<stdio.h>
#include<stdlib.h>
int main(void){
printf("Hello, world!\n");
system("pause");
return 0;
}

打開命令提示符,更改目錄到test.c的位置,鍵入
gcc -o test.exe test.c
可生成test.exe可執行文件。
四、測試makefile
新建文件夾,在文件夾內創建max_num.c、max.h、max.c、makefile四個文件。
max_num.c內容如下:

[cpp] view plain
#include <stdio.h>
#include <stdlib.h>
#include "max.h"

int main(void)
{
printf("The bigger one of 3 and 5 is %d\n", max(3, 5));
system("pause");
return 0;
}

max.h內容如下:

[cpp] view plain
int max(int a, int b);

max.c內容如下:

[cpp] view plain
#include "max.h"

int max(int a, int b)
{
return a > b ? a : b;
}

makefile內容如下:

[html] view plain
max_num.exe: max_num.o max.o
gcc -o max_num.exe max_num.o max.o

max_num.o: max_num.c max.h
gcc -c max_num.c

max.o: max.c max.h
gcc -c max.c

注意所有含有gcc的行前面是一個製表符,而非若干空格。否則可能會保存,無法編譯。

打開命令提示符,更改目錄到新建的文件夾,鍵入make,可生成指定的應運程序。
測試完成。

④ GNU是個啥 是個標准,軟體還是編譯器還是一個總稱

GNU是一個自由軟體工程項目。下面的文字沒有具體解釋GNU是哪幾個單詞的所寫,但從整體上說明了GNU工程是怎麼回事,希望對你有幫助。
GNU工程已經開發了一個被稱為「GNU」(GNU是「不是UNIX」的縮寫)的、對Unix向上兼容的完整的自由軟體系統(free software system)。由Richard Stallman完成的最初的GNU工程的文檔被稱為『GNU宣言』,該宣言已經被翻譯成多種其它語言。我們還有創作與1983年的GNU工程創始宣言。
上述單詞「free」指的是自由(freedom),而不是價格。你可能需要或者不需要為獲取GNU軟體而支付費用。不論是否免費,一旦你得到了軟體,你在使用中就擁有三種特定的自由。首先是復製程序並且把它送給你的朋友或者同事的自由;而後是通過獲取完整的源代碼,按照你的意願修改程序的自由;最後是發布軟體的改進版並且有助於創建自由軟體社團的自由。(如果你重新發布 GNU軟體,你可能對分發拷貝這項體力勞動收費,也可能不收費。)

在1983年構思GNU工程是為了提供一種找回在計算機界早期的盛行的合作精神的方式--為了使合作成為可能而排除有私有軟體所有者給合作造成的障礙。

在1971年,當Richard Stallman開始他在MIT的職業生涯時,他工作於一個專門使用自由軟體的工作組。即使計算機公司也經常發布自由軟體。程序員可以自由地相互合作,就象他們通常所作的那樣。

到了80年代,幾乎所有的軟體都是私有的,這意味著它有一個不允許並且預防用戶合作的擁有者。這就使得GNU工程成為必要的了。

每個計算機的使用者都需要一個操作系統;如果沒有自由的操作系統,那麼如果你不求助於私有軟體,你甚至不能開始使用一台計算機。所以自由軟體議事日程的第一項就是自由的操作系統。

一個操作系統不僅僅是一個內核;它還包括編譯器、編輯器、文本排版程序,電子郵件軟體,和許多其他東西。因此,創作一個完整的操作系統是一鄉十分龐大的工作。它將耗費太多的年頭。

由於Unix的全局設計已經得到認證並且廣泛流傳,我們決定使操作系統與Unix兼容。同時這種兼容性使Unix的使用者可以容易地轉移到GNU上來。

自由的,類似於Unix的內核的初始目標已經達到了。到90年代,我們已經發現或者完成了除了內核之外的所有主要成分。而Linux,一個自由的內核,由Linux Torvalds開發了。把Linux和幾乎完成的GNU 系統結合起來,就構成了一個完整的操作系統:一個基於Linux的GNU系統。估計目前大約有十萬人在使用基於Linux的GNU系統,包括Slackware、Debian、Red Hat以及其它。

⑤ 什麼是GCC編譯器

Linux系統下的Gcc(GNU C Compiler)是GNU推出的功能強大、性能優越的多平台編譯器,是GNU的代表作品之一。gcc是可以在多種硬體平台上編譯出可執行程序的超級編譯器,其執行效率與一般的編譯器相比平均效率要高20%~30%。 Gcc編譯器能將C、C++語言源程序、匯程式化序和目標程序編譯、連接成可執行文件,如果沒有給出可執行文件的名字,gcc將生成一個名為a.out的文件。在Linux系統中,可執行文件沒有統一的後綴,系統從文件的屬性來區分可執行文件和不可執行文件。而gcc則通過後綴來區別輸入文件的類別,下面我們來介紹gcc所遵循的部分約定規則。 .c為後綴的文件,C語言源代碼文件; .a為後綴的文件,是由目標文件構成的檔案庫文件; .C,.cc或.cxx 為後綴的文件,是C++源代碼文件; .h為後綴的文件,是程序所包含的頭文件; .i 為後綴的文件,是已經預處理過的C源代碼文件; .ii為後綴的文件,是已經預處理過的C++源代碼文件; .m為後綴的文件,是Objective-C源代碼文件; .o為後綴的文件,是編譯後的目標文件; .s為後綴的文件,是匯編語言源代碼文件; .S為後綴的文件,是經過預編譯的匯編語言源代碼文件。 Gcc的執行過程 雖然我們稱Gcc是C語言的編譯器,但使用gcc由C語言源代碼文件生成可執行文件的過程不僅僅是編譯的過程,而是要經歷四個相互關聯的步驟∶預處理(也稱預編譯,Preprocessing)、編譯(Compilation)、匯編(Assembly)和連接(Linking)。 命令gcc首先調用cpp進行預處理,在預處理過程中,對源代碼文件中的文件包含(include)、預編譯語句(如宏定義define等)進行分析。接著調用cc1進行編譯,這個階段根據輸入文件生成以.o為後綴的目標文件。匯編過程是針對匯編語言的步驟,調用as進行工作,一般來講,.S為後綴的匯編語言源代碼文件和匯編、.s為後綴的匯編語言文件經過預編譯和匯編之後都生成以.o為後綴的目標文件。當所有的目標文件都生成之後,gcc就調用ld來完成最後的關鍵性工作,這個階段就是連接。在連接階段,所有的目標文件被安排在可執行程序中的恰當的位置,同時,該程序所調用到的庫函數也從各自所在的檔案庫中連到合適的地方。 Gcc的基本用法和選項 在使用Gcc編譯器的時候,我們必須給出一系列必要的調用參數和文件名稱。Gcc編譯器的調用參數大約有100多個,其中多數參數我們可能根本就用不到,這里只介紹其中最基本、最常用的參數。 Gcc最基本的用法是∶gcc [options] [filenames] 其中options就是編譯器所需要的參數,filenames給出相關的文件名稱。 -c,只編譯,不連接成為可執行文件,編譯器只是由輸入的.c等源代碼文件生成.o為後綴的目標文件,通常用於編譯不包含主程序的子程序文件。 -o output_filename,確定輸出文件的名稱為output_filename,同時這個名稱不能和源文件同名。如果不給出這個選項,gcc就給出預設的可執行文件a.out。 -g,產生符號調試工具(GNU的gdb)所必要的符號資訊,要想對源代碼進行調試,我們就必須加入這個選項。 -O,對程序進行優化編譯、連接,採用這個選項,整個源代碼會在編譯、連接過程中進行優化處理,這樣產生的可執行文件的執行效率可以提高,但是,編譯、連接的速度就相應地要慢一些。 -O2,比-O更好的優化編譯、連接,當然整個編譯、連接過程會更慢。 -Idirname,將dirname所指出的目錄加入到程序頭文件目錄列表中,是在預編譯過程中使用的參數。C程序中的頭文件包含兩種情況∶ A)#include B)#include 「myinc.h」 其中,A類使用尖括弧(< >),B類使用雙引號(「 」)。對於A類,預處理程序cpp在系統預設包含文件目錄(如/usr/include)中搜尋相應的文件,而對於B類,cpp在當前目錄中搜尋頭文件,這個選項的作用是告訴cpp,如果在當前目錄中沒有找到需要的文件,就到指定的dirname目錄中去尋找。在程序設計中,如果我們需要的這種包含文件分別分布在不同的目錄中

⑥ gnu編譯器是什麼意思

GCC(GNU Compiler Collection,GNU編譯器集合),是一套由 GNU 開發的編程語言編譯器。以及大部分UNIX系統的程序庫和工具。
GNU是「GNU's Not Unix」的遞歸縮寫。

⑦ 如何使用GNU編譯器GCC來編譯Cortex-M3

MinGW是指只用自由軟體來生成純粹的Win32可執行文件的編譯環境,它是Minimalist GNU on Windows的略稱。

實際上 MinGW 並不是一個 單純的C/C++ 編譯器,而是一套 GNU 工具集合。除開 GCC 以外,MinGW 還包含有一些其他的 GNU 程序開發工具 (比如 gawk bison 等等)。
開發 MinGW 是為了那些不喜歡工作在 Linux(FreeBSD) 操作系統而留在 Windows 的人提供一套符合 GNU 的 GNU 工作環境。
所以,使用 MinGW 我們就可以像在 Linux 下一樣使用 GNU 程序開發工具。
GCC 就是 MinGW 的核心所在,GCC 是一套支持眾多計算機程序語言的編譯系統,而且在語言標準的實現上是最接近於標準的。並且 GCC
幾乎可以移植到目前所有可用的計算機平台。(我的電腦上就還裝有 DevKitPro,裡麵包含 GCC 的 ARM(for GBA/DS/GP32)
和 MIPS(for PSP) 版本。)
GCC 本身不像 VC 那樣擁有IDE 界面(在 Windows 上也存在 Dev C++ 之類的支持 MinGW 編譯器的
IDE)。源代碼編輯你可以選用任何你喜歡的文本編輯器(據說微軟的開發人員包括 VC 的開發都不用 VC 所帶的 IDE 編輯器,而是選用 GNU
的 VIM 編輯器)。然後使用 make 等工具來進行軟體項目的編譯、鏈接、打包乃至發布。而像 cvs(svn)
源代碼版本控制工具可以讓世界上任何一個角落的人都可以參與到軟體項目中來。

2.下載MinGW
一種方法是到Sourceforge(http://sourceforge.net/project/showfiles.php?group_id=2435)下載一個MinGW-2.0.0-3.exe。

但是我配置的時候我電腦上安裝了codeblocks,已經自帶了MinGW。

3.環境變數的配置
在(系統屬性-->高級-->環境變數-->系統變數 中)(以下目錄都根據自己的電腦MinGW所在位置不同而改變)

a.在PATH的值中加入「C:\Program Files\MinGWStudio\MinGW\bin」。這是尋找gcc編譯器的路徑。如果PATH中還有其他內容,需要用英文狀態下分號進行分割

b.新建LIBRARY_PATH變數,在其值中加入「C:\Program Files\MinGWStudio\MinGW\lib」。這是標准庫存放的路徑。

c.新建C_INCLUDE_PATH變數,在其值中加入「C:\Program Files\MinGWStudio\MinGW\include」。這是Include查找頭文件的路徑。

4.驗證gcc是否正常運行
在cmd控制台窗口下面,輸入gcc -v。若已經成功安裝好,會顯示gcc的版本信息。

⑧ 《c++ primer第四版》中說的GNU編譯器在哪裡可以下載到

GNU是一個GNU not unix 的簡稱 編譯器主要是gcc 你搜索一下就行偶爾 這個是在linux平台上的編譯器 你要裝在linux操作系統下

⑨ 如何下載gnu c 編譯器

你直接下一個codeblocks吧,Code::Blocks在它的構建中正式提供GNU/Linux版本,支持gun下的C/C++,而且還是免費的,開源軟體,我就一直在用,真心推薦。希望我的回答對你有幫助。

熱點內容
enapp伺服器地址與埠 發布:2024-12-22 02:05:34 瀏覽:753
兩個公網ip映射1台伺服器埠 發布:2024-12-22 02:04:56 瀏覽:798
明日之後最低配置怎麼用 發布:2024-12-22 01:59:54 瀏覽:883
symlinkpython 發布:2024-12-22 01:56:55 瀏覽:515
調用存儲過程返回值 發布:2024-12-22 01:56:47 瀏覽:830
最小的存儲卡 發布:2024-12-22 01:55:08 瀏覽:56
華為手機不記得了密碼如何開鎖 發布:2024-12-22 01:40:33 瀏覽:228
android鬧鍾實現 發布:2024-12-22 01:33:53 瀏覽:552
shell腳本中如何使用參數 發布:2024-12-22 01:32:06 瀏覽:998
菜品識別源碼 發布:2024-12-22 01:31:16 瀏覽:272