C 語言誕生與演進
- 1972:Dennis Ritchie 在 AT&T 貝爾實驗室,基於 B 語言 (Ken Thompson, 1970,源自 BCPL) 設計 C 語言,首度在 DEC PDP-11 UNIX 上運行。
- 1978:Kernighan & Ritchie 出版《The C Programming Language》 (K&R C),成為事實標準。
- 1989:ANSI X3.159-1989 (C89/C90) 正式標準化。
- 1999:ISO/IEC 9899:1999 (C99) 新增
// 註解、stdint.h、VLA、restrict、內聯函數等。
- 2011/2018/2024:C11、C18、C23 持續演進 (執行緒、原子操作、泛型選擇、模組等)。
C 語言四大核心特點
- 中階語言:兼具高階結構 (函數、迴圈、型別) 與低階操作 (位元、位址、暫存器),可直接操作硬體資源。
- 結構化語言:程式 = 函數集合,模組化、資料與代碼分離,支援多種控制流程 (if/for/while/switch),利於維護與除錯。
- 功能完整:豐富型別系統 (整數、浮點、指標、陣列、結構、聯合、枚舉)、強大前置處理器、標準庫涵蓋 I/O、字串、數學、記憶體、時間等。
- 高度可移植:標準化後,同源碼可在 DOS、UNIX、Windows、Linux、嵌入式 MCU、超級電腦編譯運行,僅需重新編譯。
Turbo C 2.0 簡介
Borland 公司與 Turbo 系列
- Borland 為知名開發工具廠商,推出 Turbo Pascal、Turbo Basic、Turbo Prolog、Turbo C 等。
- 1987 Turbo C 1.0:首創整合開發環境 (IDE)——編輯、編譯、連結、除錯、執行一體化,下拉式選單、熱鍵操作,革命性提升開發效率。
- 1988 Turbo C 1.5:新增圖形庫、文字視窗函數庫。
- 1989 Turbo C 2.0:新增除錯器 (斷點、單步、監視)、支援 Tiny 模式產生 .COM、數學協處理器模擬 (8087/287/387)。
- 後續推出 Turbo C++ (面向物件)、Borland C++ (支援 Windows 3.0)。
Turbo C 2.0 系統需求
- IBM PC/XT/AT 或相容機
- DOS 2.0+
- ≥ 448 KB RAM
- 任意 80 欄彩色/單色顯示器
- 支援 8087/287/387 協處理器或軟體模擬
安裝磁片內容 (6 片 360K / 2 片 1.2M)
| 檔案 | 用途 |
INSTALL.EXE | 安裝程式 |
TC.EXE | IDE 主程式 |
TCINST.EXE | IDE 設定工具 |
TCHELP.TCH | 線上說明資料庫 |
THELP.COM | 說明常駐程式 (熱鍵呼叫) |
README | 版本資訊 |
TCCONFIG.EXE | 設定檔轉換 |
MAKE.EXE | 專案管理/建構工具 |
TCC.EXE | 命令列編譯器 |
TLINK.EXE | 連結器 |
TLIB.EXE | 函式庫管理工具 |
C??.OBJ | 各模式啟動代碼 (T/S/C/M/L/H) |
C?.LIB | 各模式執行期函式庫 |
GRAPHICS.LIB | 圖形函式庫 |
EMU.LIB / FP87.LIB | 8087 模擬 / 實體協處理器庫 |
*.H | 標準標頭檔 |
*.BGI | 顯示器驅動程式 |
*.C | 範例原始碼 |
記憶體模式對照
T Tiny : 代碼+資料+堆疊 ≤ 64KB,產生 .COM
S Small : 代碼≤64KB, 資料+堆疊≤64KB (最常用)
C Compact: 代碼≤64KB, 資料>64KB (遠資料指標)
M Medium : 代碼>64KB, 資料≤64KB (遠代碼指標)
L Large : 代碼>64KB, 資料>64KB (遠代碼+遠資料)
H Huge : Large + 單一資料項>64KB (巨大指標)
Turbo C 2.0 雖為歷史產物,但其 IDE 概念、專案管理、除錯介面深刻影響後續 Visual Studio、Code::Blocks、CLion 等現代工具。理解其歷史有助於掌握 C 開發工具鏈演進脈絡。