前言:精準術語是深入 CLR 的基石
閱讀 CLR 相關技術書籍或原始碼時,術語翻譯不一常造成理解偏差。本文整理 24 類核心術語的中英對照與辨析,助你建立精準的技術詞彙庫。
1. 編譯工具鏈:Assembler vs Compiler
| 英文 | 中文 | 說明 |
| Assembler | 匯編器 | 處理組合語言(如 ILAsm),動詞為 assemble(匯編) |
| Compiler | 編譯器 | 處理高階語言(如 C#),動詞為 compile(編譯) |
2. Assembly:程序集 vs 模組
- Assembly(程序集):邏輯單位,含 Manifest、型別中繼資料、IL 碼、資源。VS 預設產生單模組程序集;多模組需命令列工具手動建構。
- Module(模組):物理檔案(.dll/.netmodule),程序集的組成部分。
- 譯者註:「程序集」雖不完美(Assembly 較抽象),但業界慣用,本文沿用。
3. Property vs Attribute:屬性 vs 特性
- Property → 屬性(類別成員,如
public int Age { get; set; })
- Attribute → 特性(中繼資料標註,如
[Serializable])
- MSDN 早期翻譯混淆導致慣性錯誤,務必區分。
4. Parameter vs Argument:形參 vs 實參
- Parameter:方法定義時的變數(形參)
- Argument:呼叫時傳入的值(實參)
- 單獨出現時統稱「參數」;同段落出現則嚴格區分「形參/實參」。
5. Instruction vs Directive:指令 vs 偽指令
| 類別 | 英文 | 中文 | 特徵 |
| 機器碼助記符 | Instruction | 指令 | 有對應機器碼,CPU 執行 |
| 編譯器指導 | Directive | 偽指令 | 無機器碼,編譯期處理 |
| 符號 | + - * 等 | 其他符號 | 編譯器識別,無機器碼 |
6. 標記類術語七兄弟
| 英文 | 中文 |
| Flag | 標誌 |
| Tag | 標籤 |
| Token | 標記 |
| Identity | 標識 |
| Label | 標號 |
| Notation | 符號 |
| Mark (動詞) | 標註 |
7. Schema vs Scheme:架構 vs 方案
- Schema → 架構(如 XML Schema)
- Scheme → 方案(如 URI Scheme)
- 作者曾郵件確認:切勿將 Scheme 誤譯為 Schema。
8. Emit / Emission:流出
MSDN 譯為「流出、發射、發出」。本書統一用「流出」,意象更貼切(如動態產生 IL 碼)。
9. 組合語言核心詞彙
| 英文 | 中文 | 備註 |
| Slot | 槽 | |
| Word | 字 | 2 Bytes |
| Register | 暫存器 | CPU 數據暫存 |
| Image | 映像 | |
| Overflow/Underflow | 上溢/下溢 | |
| Segment | 段 | |
| Section | 節 | PE 檔區塊 |
| Align | 對齊 | |
| Branch | 轉移 | 非分支 |
| Allocation | 配置 | |
10. Export vs Import:導出 vs 導入
為避免與 Input/Output(輸入/輸出)混淆,統一譯為「導出/導入」。
11. Forward 的雙重語境
forward class declaration → 類別預先宣告
type forwarder → 型別轉送
12. Entry 的多重含義
| 語境 | 中文 | 範例 |
| Entry Point | 進入點 | Main 方法 |
| 集合元素 | 項 | PE Header 結構 |
| 二維表列 | 欄位 | 中繼資料表格 |
13. Edit-and-Continue:編輯後繼續
除錯時修改程式碼並直接繼續執行,無需重新啟動。
14. Nested vs Embedded:內嵌
- Nested → 內嵌類別
- Embedded → 內嵌原生碼
15. Dereference:提領
取消參考並取得被參考物件(如 Stack Pop 回傳 Object)。侯捷先生譯為「提領」,最貼切。
16. Encloser vs Sealed
- Encloser → 外包類別(對應 Nested)
- Sealed → 密封(不可繼承)
17. 版本號四要素
| 英文 | 中文 |
| MajorVersion | 主版本 |
| MinorVersion | 次版本 |
| BuildNumber | 建置號 |
| RevisionNumber | 修訂號 |
18. 記憶體佈局三種模式
Explicit Layout → 明確佈局
Sequential Layout → 循序佈局
Union Layout → 聯合佈局
19. Validation vs Verification:有效性檢查 vs 驗證
- Validation:中繼資料有效性檢查
- Verification:IL 碼驗證(型別安全)
- 衍生詞:Validity(有效性)、Verifiable(可驗證)、Verifier(驗證器)
20. Retrieve vs Get:檢索 vs 取得
- Retrieve:搜尋並取得(含查找過程)
- Get:直接取得
21. Bind / Bound / Boundary
- Bind → 繫結(動詞)
- Bound → 繫結(分詞)/ 邊界(名詞,如陣列下界 Low Bound)
- Boundary → 邊界(專用名詞)
22. .NET 常見縮寫
| 縮寫 | 全名 | 中文 |
| CLR | Common Language Runtime | 共同語言執行平台 |
| CLS | Common Language Specification | 共同語言規範 |
| CLI | Common Language Infrastructure | 共同語言基礎結構 |
| CTS | Common Type System | 通用型別系統 |
| JIT | Just-In-Time | 即時編譯 |
| P/Invoke | Platform Invocation | 平台呼叫 |
| EH | Managed Exception Handler | 受控例外處理器 |
| TLS | Thread Local Storage | 執行緒區域儲存區 |
23. 保留原文術語
- Stub(佔位程式)
- Wrapper(包裝器)
- Thunk(互操作專用)
- Sentinel(分隔標記)
24. 固定翻譯速查表(節錄)
| 英文 | 中文 |
| Permission | 權限 |
| Virtual Table (V-table) | 虛擬表 (V 表) |
| Fixup | 修正 |
| Marshal | 封送 |
| Reside | 駐留 |
| Literal Field | 常值欄位 |
| Underlying Platform | 底層平台 |
| Contravariant | 逆變 |
| Covariant | 共變 |
| Isolated Storage | 隔離儲存區 |
| Opcode | 操作碼 |
| Operand | 運算元 |
| Cyclic Dependency | 循環相依 |
| Finalizer | 完成項 |
| Constructor | 建構函式 |
| Destructor | 解構函式 |
| Instantiation | 具現化 |
| Dispose | 釋放 |
結語
術語統一不僅利於閱讀,更是團隊溝通的基礎。建議收藏本表,遇到歧義時隨時查閱,養成精準表達的習慣。