| 版本 | 特點 | 適用場景 | 現狀 |
| Microsoft C (MSVC) | Windows 原生、VS 集成、C11/C17 部分支援、C23 進行中 | Windows 桌面/服務/驅動開發 | 主流持續更新 |
| Borland Turbo C | DOS 經典、體積 <1MB、無圖形界面、不支援中文、非標準擴展多 | 教學演示、極老舊維護 | 已停維 20+ 年 |
| AT&T C | Unix System V 官方、商業授權、標準合規性高 | 歷史 Unix 系統 | 併入後續商業版本 |
| GCC (GNU Compiler Collection) | 跨平台、標準支援最完整 (C23 領先)、GNU 擴展豐富、免費開源 | Linux/嵌入式/跨平台/科研首選 | 主流持續更新 |
| Clang (LLVM) | 模塊化、診斷極佳、標準緊跟、IDE 集成友好、編譯速度快 | 現代工程、Apple/MSVC 後端、靜態分析 | 主流持續更新 |
從 C 到 C++:面向對象演進脈絡
- 1983:貝爾實驗室 Bjarne Stroustrup 基於 C 推出 **C with Classes** → **C++**。
- 核心擴展:類、繼承、多態、模板、異常、STL、RAII、智能指針、Lambda、模塊 (C++20)。
- 兼容性:C++ **大體兼容 C** (C90 子集),但非嚴格超集 (如
void* 隱式轉換、const 連接性、關鍵字差異)。
- 學習路徑:**精通 C 內存模型/指針/編譯鏈接 → 學習 C++ 事半功倍**,避免「C with Classes」寫法污染現代 C++ 風格。
開發工具推薦 (按場景)
| 場景 | 推薦工具 | 優缺點 |
| 教學/極簡驗證 | TCC (Tiny C Compiler)、OnlineGDB、Compiler Explorer | 秒級編譯、無安裝、適合片段驗證 |
| Windows 桌面/服務 | Visual Studio 2022 Community/Professional | 最強調試、IntelliSense、MSVC、圖形化分析器、體積大 |
| 跨平台/嵌入式/Linux | VS Code + C/C++ Extension + CMake + GCC/Clang | 輕量、標準化、生態豐富、遠程開發支援 |
| 專業 C/C++ IDE | CLion (JetBrains) | 重構最強、CMake 原生、靜態分析、付費訂閱 |
| 學習專用輕量級 | Code::Blocks、Dev-C++ (Embarcadero 版)、C-Free | 界面簡單、內置 GCC、適合新手、功能較弱 |
源程序結構特點 (鐵律)
- 一或多個源文件 (
.c) 組成程序。
- 每文件含一或多個函數。
- 全程序有且僅有一個
main() 函數** (程序入口)。
- 預處理命令 (
#include, #define, #ifdef...) 通常置文件最前。
- 每聲明/語句以分號結尾**;但預處理命令、函數頭、
} 後**不加**分號。
- 標識符/關鍵字間必須有空格分隔 (如
int a; 而非 inta;)。
編程風格規範 (養成肌肉記憶)
- 一聲明/語句佔一行。
{} 獨佔行、與所屬語句首字母對齊。
- 層級縮進 (4 空格) 體現控制流層次。
字符集與詞法速查 (複習鞏固)
- 字母 52、數字 10、空白符 6 類 (空格/\t/\n/\r/\f/\v)、標點特殊字符 30+。
- 詞法六類:標識符 (首字母/下劃線)、關鍵字 (保留/三大類)、運算符 (豐富/優先級)、分隔符 (逗號/空格)、常量 (5 種)、註釋 (
/* */ / //)。
總結
筆記 2 涵蓋 C 語言核心特點、版本演進、C→C++ 關系、開發工具選型、源程序結構鐵律、編程風格規範、字符集詞法複習。**掌握 C 的「雙重身份」 (高級抽象+底層控制)、選對現代工具鏈 (GCC/Clang+VS Code/CMake)、內化風格規範**,是從「會寫 C 語法」邁向「寫出工業級 C 系統代碼」的關鍵門檻。建議配合《C Primer Plus》系統學習,並在真實項目中踐行工程化流程。
- 上一篇文章: 跨平台進程終止實現:Poco 庫源碼中的 Windows TerminateProcess 與 Linux kill(SIGKILL) 封裝
- 下一篇文章: C/C++ 標準庫頭文件全景速查表(ISO C / POSIX / C++ STL)
Copyright ©
程式碼之家 All Rights Reserved