C語言編譯器與第一個C語言程式

Hello, World! 相信是所有程式設計初學者接觸程式時第一個練習範例,這個範例最早出自經典C語言經典著作《The C Programming Language (Second Edition)》(KR2),由該書作者所創作。後來流傳至全球,至今幾乎所有程式語言的入門示範都以它作為起手範例。

今天我們就透過這個經典範例,撰寫屬於自己的第一支C語言程式。

撰寫C語言程式前,必須先安裝編譯器,下載連結:Download i686-8.1.0-release-win32-sjlj-rt_v6-rev0.7z (MinGW-w64 – for 32 and 64 bit Windows)。什麼是編譯器?

什麼是編譯器?

電腦只認識二進位數字 0 與 1,無法直接讀取人類撰寫的 C/C++、Python、Java 等高階程式碼。編譯器就是一套翻譯工具:將可讓人閱讀的高階語言原始碼,一次性完整轉換成CPU 可直接執行的機器語言(二進位執行檔 exe)

簡單來說,編譯器會把人類撰寫的C語言程式,翻譯成電腦看得懂的0與1指令,唯有這類機器指令才能交由CPU執行。若沒有編譯器,你寫的C程式只會等同一般純文字,電腦無法辨識。所有程式語言的核心本質,就是對應的專屬編譯器;語言規範、語法定義,全部依靠編譯器實作落地。

讀者可透過上方連結下載Windows專用編譯器補充包。補充:Unix系統使用cc編譯器,僅適用於Unix環境;Windows平台則採用GCC編譯器。

常見C語言編譯器種類

1 GCC

全名 GNU Compiler Collection,開源免費,支援 C/C++/Objective-C 等語言,具備跨平台特性(Windows/Linux/macOS 皆可使用)。

MinGW-w64 是一套整合工具包,內含GCC編譯器。

2 Clang(LLVM)

基於LLVM架構開發,是macOS、iOS系統官方預設編譯器,Windows平台也可獨立安裝使用。

3 MSVC

全名 Microsoft Visual C++,微軟官方原生Windows編譯器,內建於Visual Studio安裝套件,Qt開發環境也可搭配使用。

命令行執行工具:cl.exe

4 Tiny C Compiler

支援直接執行C原始碼,不需額外編譯產生exe執行檔,使用方式類似直譯式腳本語言。

市面上還有其他C語言編譯器,此處不一一列舉,部分舊款編譯器已淘汰停用,例如Turbo C。

初學階段建議先使用MinGW-w64內附的GCC,後續可切換MSVC搭配Visual Studio開發C語言專案。

安裝MinGW

若上方下載連結失效,可改用此連結取得安裝包:Download MinGW-w64 – for 32 and 64 bit Windows

下載壓縮檔後進行解壓縮:

MinGW 解壓縮目錄

解壓後可看見gcc.exe,這就是我們要使用的編譯器,檔案僅1.77MB。

將解壓完整資料夾移至自訂路徑,例如本文範例路徑:D:\mingw64,亦可自行選擇其他磁碟目錄。

接下來將該工具的bin路徑新增至系統環境變數Path

  • 右鍵「此電腦」→ 內容
  • 右側「進階系統設定」→「進階」分頁
  • 點擊環境變數,下方「系統變數」找到 Path,雙擊編輯,點「新增」,貼上路徑:D:\mingw64\bin
  • 所有開啟的設定視窗全部點確定儲存設定

注意:D:\mingw64\bin 資料夾內必須包含gcc.exe。部分下載套件結構不同,gcc.exe會藏在內層bin子目錄中,請確認路徑正確。

驗證GCC安裝是否成功

開啟CMD命令提示字元,輸入以下指令

gcc --version
或是
g++ --version

若輸出以下資訊即代表安裝正常

C:\Users\Jack>gcc --version
gcc (i686-win32-sjlj-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Code language: CSS (css)
C:\Users\Jack>g++ --version
g++ (i686-win32-sjlj-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Code language: CSS (css)

兩支指令皆可正常使用,確認編譯器環境無誤後,接著建立第一支C語言程式。

至C槽或其他磁碟根目錄,新增名為cdemo的資料夾,在內部建立文字檔,重新命名為hello.c

使用記事本開啟hello.c,貼入下方程式碼

#include <stdio.h>

int main()
{
    printf("hello, world\n");
    return 0;
}Code language: C/AL (cal)

開啟CMD,透過cd指令切換至該資料夾目錄

執行GCC編譯指令,編譯的含義就是將原始碼轉換為電腦可執行的二進位01指令。

編譯與執行程式

開啟CMD,切換至程式存放目錄

C:\cdemo>gcc hello.cCode language: CSS (css)

執行該指令後畫面不會輸出任何提示文字

但資料夾內會自動產生a.exe執行檔。

這就是我們編譯完成的程式,要如何執行?

直接輸入a即可執行,不需要加上副檔名.exe

C:\cdemo>a
hello, world
完整編譯執行流程

自訂執行檔名稱

未指定輸出名稱時,編譯器預設產生a.exe。

使用以下指令可自訂輸出exe檔名

gcc hello.c -o hello.exeCode language: CSS (css)

開啟資料夾即可看見hello.exe,可自由修改為任意名稱。

本課程到此結束,請讀者自行完整操作一遍上述流程,徹底理解編譯器作用,以及程式撰寫、編譯、執行完整流程。

Previous:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *