| 維度 | C 語言 | 匯編語言 |
|---|---|---|
| 抽象層級 | 中高級:結構化控制流、類型系統、函數抽象 | 極低級:機器指令一一對應、無類型、無控制結構 |
| 可移植性 | 極強:同源碼重編譯即可跨架構 (x86/ARM/RISC-V/...) | 零:每種指令集 (x86, ARM, MIPS...) 完全不同,代碼不可移植 |
| 開發效率 | 高:表達力強、標準庫豐富、工具鏈成熟 | 極低:手工管理寄存器、棧幀、跳轉、數據布局 |
| 底層控制 | 支持:指針、位運算、內嵌匯編、volatile、內建函數 | 絕對:直接操作每條指令、每個寄存器、每個時鐘週期 |
| 典型用途 | 99% 的系統軟件:OS、驅動、嵌入式、數據庫、編譯器、高性能服務 | 1% 極致場景:啟動代碼、中斷向量、加密算法核心、極限優化熱點 |
這句經典名言精準概括了關係:
register)、內嵌匯編接口,讓程序員在需要時「穿透」到硬件層。startup.s) 配合 C 主循環。工程上 C 是主力,匯編是手術刀。不用匯編也能造出 Linux 內核、Redis、Nginx;但沒有 C,寫同等規模系統純匯編幾乎不可能。