WeHelp
C 語言是一種通用的、程序式的程式語言,可直接對記憶體與硬體進行操作,效率極高。
  1. C 特色用途、相關職務
  2. Windows 環境建置、測試
  3. Mac 環境建置、測試
  4. Linux 環境建置、測試
  5. C 標準輸出、輸入
  6. C 資料型態
  7. C 變數使用
  8. C 運算符號
  9. IF 條件判斷
  10. Switch 條件判斷
  11. While 迴圈
  12. For 迴圈
  13. Array 陣列
  14. String 字串
  15. Function 函式
  16. 標準函式庫
  17. Struct 結構
  18. Pointer 指標
  19. 指標與函式參數
  20. 指標與陣列
  21. 指標與結構
  22. 動態配置記憶體
Windows 環境建置、測試
以下說明如何在 Windows 使用 **Cygwin + GCC** 建立 C 語言開發環境,並編譯、執行第一個 `Hello World` 程式。 --- ## 一、安裝 Cygwin ### 1. 下載安裝程式 前往 Cygwin 官方網站: <https://www.cygwin.com/> 依 Windows 系統下載: - 64 位元 Windows:`setup-x86_64.exe` - 32 位元 Windows:`setup-x86.exe`,目前較少使用 一般現代 Windows 都選擇 64 位元版本。 --- ### 2. 執行安裝程式 啟動安裝程式後,依序選擇: 1. **Install from Internet** 2. 選擇安裝目錄,例如: ```text C:\cygwin64 ``` 3. 選擇套件下載暫存目錄 4. 選擇一個下載鏡像站,例如: ```text https://mirrors.kernel.org ``` 5. 在套件選擇畫面中搜尋並安裝以下套件: - `gcc-core`:C 編譯器 - `gcc-g++`:C++ 編譯器,可選 - `make`:建置工具,可選但建議安裝 - `gdb`:除錯器,可選 - `nano` 或 `vim`:文字編輯器,可選 在套件畫面中,點擊套件名稱旁的 `Skip`,使其變成版本號,表示將會安裝。 若只需要 C 語言,至少安裝: ```text gcc-core ``` 建議同時安裝: ```text gcc-core make gdb nano ``` 6. 按照畫面完成安裝。 --- ## 二、啟動 Cygwin 終端機 安裝完成後,從 Windows 開始選單啟動: ```text Cygwin Terminal ``` 會看到類似 Linux 的命令列介面,例如: ```bash user@computer ~ $ ``` Cygwin 的家目錄通常位於: ```text C:\cygwin64\home\你的使用者名稱 ``` 在 Cygwin 中,Windows 磁碟機會以 `/cygdrive` 表示。例如: | Windows 路徑 | Cygwin 路徑 | |---|---| | `C:\Users\Tom` | `/cygdrive/c/Users/Tom` | | `D:\project` | `/cygdrive/d/project` | --- ## 三、確認 GCC 是否安裝成功 在 Cygwin Terminal 輸入: ```bash gcc --version ``` 若安裝成功,會看到 GCC 版本資訊,例如: ```text gcc (GCC) 12.x.x ``` 也可以檢查 `make`: ```bash make --version ``` --- ## 四、建立 Hello World 程式 ### 方法一:使用 nano 編輯器 先建立一個工作目錄: ```bash mkdir -p ~/c-project cd ~/c-project ``` 使用 `nano` 建立程式檔案: ```bash nano hello.c ``` 輸入以下程式: ```c #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } ``` 儲存檔案: 1. 按 `Ctrl + O` 2. 按 Enter 確認檔名 3. 按 `Ctrl + X` 離開 此時可以確認檔案是否存在: ```bash ls ``` 應該會看到: ```text hello.c ``` --- ### 方法二:使用 Windows 編輯器 也可以使用記事本或 Visual Studio Code 編輯檔案。 例如,先進入 Windows 使用者資料夾: ```bash cd /cygdrive/c/Users/你的使用者名稱/Desktop ``` 使用 Windows 編輯器開啟檔案: ```bash notepad hello.c ``` 輸入相同的 C 程式並儲存。 請注意,檔案名稱必須確實是: ```text hello.c ``` 而不是: ```text hello.c.txt ``` --- ## 五、編譯 C 程式 在 `hello.c` 所在的目錄執行: ```bash gcc hello.c -o hello.exe ``` 這個指令的意義是: - `gcc`:呼叫 GCC 編譯器 - `hello.c`:輸入的 C 原始碼 - `-o hello.exe`:指定輸出的執行檔名稱 如果沒有錯誤,通常不會顯示任何訊息。使用 `ls` 查看檔案: ```bash ls ``` 應該會看到: ```text hello.c hello.exe ``` --- ## 六、建議使用警告選項編譯 開發程式時,建議開啟編譯器警告: ```bash gcc -Wall -Wextra -std=c17 hello.c -o hello.exe ``` 其中: - `-Wall`:啟用常見警告 - `-Wextra`:啟用額外警告 - `-std=c17`:使用 C17 標準 - `-o hello.exe`:指定輸出檔名 如果使用較舊版本 GCC,也可以改用: ```bash gcc -Wall -Wextra -std=c11 hello.c -o hello.exe ``` --- ## 七、執行程式 在 Cygwin 中執行目前目錄的程式,需要加上 `./`: ```bash ./hello.exe ``` 輸出結果應為: ```text Hello, World! ``` 也可以使用: ```bash ./hello ``` 不過在 Cygwin 環境中,建議明確使用: ```bash ./hello.exe ``` --- ## 八、完整操作流程 以下是從建立目錄到執行程式的完整指令: ```bash mkdir -p ~/c-project cd ~/c-project nano hello.c ``` 輸入: ```c #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } ``` 儲存後執行: ```bash gcc -Wall -Wextra -std=c17 hello.c -o hello.exe ./hello.exe ``` 結果: ```text Hello, World! ``` --- ## 九、使用 Windows 路徑進行編譯 假設程式放在 Windows 桌面的 `c-project` 資料夾: ```text C:\Users\Tom\Desktop\c-project ``` 在 Cygwin 中可使用: ```bash cd /cygdrive/c/Users/Tom/Desktop/c-project gcc -Wall -Wextra hello.c -o hello.exe ./hello.exe ``` 請將 `Tom` 改成自己的 Windows 使用者名稱。 --- ## 十、常見問題 ### 1. `gcc: command not found` 表示 GCC 尚未安裝,或安裝時沒有選取 `gcc-core`。 解決方法: 1. 再次執行 Cygwin 安裝程式 2. 選擇與原本相同的安裝目錄 3. 在套件選擇畫面搜尋: ```text gcc-core ``` 4. 將它從 `Skip` 改成版本號 5. 完成安裝後重新開啟 Cygwin Terminal --- ### 2. 執行時出現 `Permission denied` 先確認檔案可以執行: ```bash chmod +x hello.exe ./hello.exe ``` 通常使用 GCC 產生的 `.exe` 檔案在 Cygwin 中可以直接執行。 --- ### 3. 找不到 `hello.c` 先查看目前所在目錄: ```bash pwd ``` 查看目前目錄的檔案: ```bash ls ``` 如果看不到 `hello.c`,請使用 `cd` 切換到正確目錄,或確認檔案是否被儲存成 `hello.c.txt`。 --- ### 4. Windows 直接雙擊程式 Cygwin GCC 產生的程式通常可以在 Windows 中執行,但可能需要 Cygwin 的執行函式庫,例如: ```text cygwin1.dll ``` 因此,最穩定的方式是在 Cygwin Terminal 中執行: ```bash ./hello.exe ``` 如果希望產生不依賴 Cygwin DLL 的原生 Windows 執行檔,可以考慮使用 **MinGW-w64**,但那與一般的 Cygwin GCC 環境不同。 --- ## 十一、確認編譯是否成功 可使用以下指令檢查輸出檔: ```bash file hello.exe ``` 可能會看到類似: ```text hello.exe: PE32+ executable ``` 也可以查看程式的退出狀態: ```bash ./hello.exe echo $? ``` 若顯示: ```text 0 ``` 通常表示程式正常結束。
相關學習地圖、教學課程
C 語言,系統程式
掌握基礎的 C 語法,以及進階的系統程式開發能力。