C 語言模塊 = .c + .h。核心規範:
.h 僅含**聲明**(extern 函數/變量),**嚴禁定義**變量(否則多文件包含產生多份實體).c 內部函數/變量加 static 限制作用域.h 加 extern 公開// ❌ 錯誤:module1.h 定義變量 int a = 5; // 包含此 .h 的所有 .c 都會產生獨立的 a // ✅ 正確: // module1.h extern int a; // 聲明 // module1.c #include "module1.h" int a = 5; // 定義(僅此處分配內存) // module2.c, module3.c #include "module1.h" // 共享同一 a
| 維度 | 單任務(裸機/超級循環) | 多任務(RTOS) |
|---|---|---|
| 調度 | 主循環輪詢調用各模塊處理函數 | 內核調度器基於優先級/事件搶佔式調度 |
| TCB | 無 | 任務控制塊:狀態、優先級、棧指針、上下文 |
| 上下文切換 | 無(協作式) | 保存/恢復寄存器組(硬件/軟件協作) |
| 典型場景 | 簡單協議棧、小家電、基礎傳感器節點 | 手機、工控、複雜通訊設備 |