GCC 下載安裝與基本使用教學

C 及 C++ 的跨平台開放原始碼編譯器

GCC 是開放原始碼 (open source) 的跨平台編譯器 (compiler) ,支援編譯 C 、 C++ 、 Objective-C 、 Fortran 、 Ada 及 Go 等程式語言,官網如下連結

很多整合開發環境 (integrated development environment, IDE) 都整合好 GCC ,此外 Mac 、 Linux 也會預設安裝 GCC ,如果需要最新版本或使用 MS-Windows 系統,就得要自己下載安裝了,官網右側欄可以找到 Download 的下載連結(下圖右側紅色匡出之處),其中 Mirrors 為原始碼, Binaries 則是各平台的整合專案

點擊 Binaries ,就會開啟 Installing GCC 的頁面,從這裡可以找各作業系統相關的專案

由於 GCC 是很早期的編譯器專案,最早以釋出原始碼為主,就由不同的開發團隊整合到各平台,因此官方沒有直接提供各平台的安裝檔。

從專案可以找到安裝檔,安裝好以後就可以使用了,以下示範如何在命令列使用 GCC 編譯 C 及 C++ 程式。

Mac 及 Linux 預設在命令列可以直接使用 GCC , MS-Windows 系統可能需要自行設定命令列的環境變數才可在命令列使用 GCC 。

GCC 編譯 C 程式使用 gcc 指令,假設要編譯以下的 hello.c 程式

#include <stdio.h>

int main()
{
    printf("Hello C!\n");
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://kaiching.org/
    檔名:hello.c
    功能:示範印出 Hello C!
    作者:張凱慶 */

在命令列輸入 gcc 後面空一格接檔案名稱 hello.c ,按下 Enter 鍵,如果無聲無息地跳到下一行(下一個提示字元出現),就表示編譯成功

$ gcc hello.c
$

預設編譯出執行檔的檔案名稱為 a , Mac 及 Linux 系統的副檔名為 .out , MS-Windows 系統的副檔名為 .exe ,因此在命令列輸入檔案名稱即可執行,如下

$ a.out
Hello C!
在 Mac 及 Linux 中有可能要在檔案名稱前加上 ./ 表示當前目錄,才能有效執行。

如果要指定執行檔的名稱,這需要加上參數 -o 及檔案名稱,例如 hello.c 編譯成 hello

$ gcc hello.c -o hello
$ hello
Hello C!

GCC 編譯 C++ 程式使用 g++ 指令,假設要編譯以下的 hello.cpp 程式

#include <iostream>
using namespace std;

int main() {
    cout << "Hello C++!" << endl;
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://kaiching.org/
    檔名:hello.cpp
    功能:示範印出 Hello C++!
    作者:張凱慶 */

使用 g++ 編譯執行,如下結果

$ g++ hello.cpp -o hello
$ hello
Hello C++!
C 與 C++ 是不同的程式語言,所以 GCC 對兩者的編譯指令並不相同,至於 Objective-C 是基於 C 擴充的程式語言,因此用 GCC 對 Objective-C 的編譯指令也是 gcc

更多有關 GCC 的使用細節,請參考以下官網文件的連結

回 C 速查手冊首頁
回 C 教材首頁
回程式語言教材首頁