| 名詞 | 本質 | 例子 |
|---|---|---|
| C 語言 | 程式語言標準(ISO C11/C17/C23) | 語法、關鍵字、標準庫、編譯模型 |
| 編譯器 | 將原始碼翻譯為機器碼的程式 | GCC、Clang、MSVC (cl.exe) |
| IDE (整合開發環境) | 整合編輯器、編譯器、除錯器、專案管理的 GUI 工具 | Visual Studio、VS Code、CLion、Code::Blocks、Dev-C++ |
| VC++ 6.0 / Visual C++ | 微軟早期/現代 C++ IDE 產品線(含 MSVC 編譯器) | VC++ 6.0 (1998)、VS 2022 (MSVC v143) |
| 場景 | 編譯器 | IDE/編輯器 | 備註 |
|---|---|---|---|
| Windows 入門/教學 | MSVC (隨 VS 2022 Community) | Visual Studio 2022 / VS Code + C/C++ Extension | 圖形化除錯最強、專案模板完整 |
| 跨平台/開源/嵌入式 | GCC (MinGW-w64) / Clang | VS Code / CLion / Code::Blocks | 支援最新標準、編譯警告嚴格 |
| Linux 原生開發 | GCC / Clang | VS Code / Vim/Neovim + LSP / CLion | 終端機優先、CMake/Make/Ninja 建構 |
| 嵌入式裸機 | ARM GCC / IAR / Keil (ARMCC/Clang) | Keil MDK / VS Code + Cortex-Debug | 廠商 SDK 綁定特定工具鏈 |
myapp/
├── CMakeLists.txt # 建構腳本(跨平台標準)
├── src/
│ ├── main.c
│ └── utils.c
└── include/
└── utils.h
用 CMake 產生 VS 專案 / Makefile / Ninja,一鍵切換 Debug/Release、靜態/動態連結、啟用 Sanitizer。
C 語言 ≠ VC++ 6.0。選擇現代、標準相容、跨平台的工具鏈,才能學到真正可遷移、受業界認可的 C 技能。拒絕考古級環境,擁抱 C17/C23 新特性(`_Generic`、匿名結構/聯合、`alignas`、`[[nodiscard]]`…)。