微軟MVP教你如何看懂.NET CLR基本術語
1. assembler和compiler
assembler 匯編器,一般用于匯編語言,如本書的ILAsm。動詞形式為assemble,翻譯為匯編。
compiler 編譯器,一般用于高級語言,如C#等。動詞形式為compile,翻譯為編譯。
原書中,作者對這兩個詞是有所區分的。
2.assembly 程序集
很多人常常會與module(模塊)混淆,以至于分不清哪一個才是真實存在的。沒辦法,Visual Studio默認生成單模塊程序集,而多模塊程序集則需要命令行工具手動配置。
其實,把assembly翻譯為“程序集”并不是很貼切,畢竟,assembly是一個很抽象的東西,而“程序集”又是那么的具體。也有的書把assembly翻譯為配件,嗯,感覺不錯。但是,“程序集”這個翻譯我們已經口頭流傳了很多年,突然改口委實很不習慣,所以,本書沿襲原有翻譯,不再另辟蹊徑。
3. property和attribute
一切都是MSDN的錯,以至于所有關于.NET的翻譯書籍都要額外強調這兩個詞。property,屬性;attribute,特性。不再敷述。
4. argument和parameter
parameter,指的是函數定義中括號里面的變量,即“形參”。
argument,指的是調用函數時傳進去的數值,即“實參”。
這兩個詞一般書中是不作區別的。本書中,在一段中單獨出現時,統一翻譯為“參數”;如果一起出現在一個段落中,會相應翻譯為“形參”和“實參”以示區別。
5.instruction和directive
在匯編語言中,有以下三類指令:
指令(即instruction):機器碼的助記符,有對應的機器碼。
偽指令(即directive):沒有對應的機器碼,由編譯器執行,計算機并不執行。
其它符號:如+、-、*等,由編譯器識別,沒有對應的機器碼。
本書也采取“指令”與“偽指令”的翻譯來區分這兩個不同的術語。
6.flag、tag、token、identity、label、notation和mark
話說,這幾個詞很搞,在中文里翻譯都差不多。這里,統一翻譯如下:
flag 標志
tag 標簽
token 標記
identity 標識
label標號
notation 符號
此外,mark這個動詞,統一翻譯為mark。
7. schema和scheme
schema 架構
scheme 方案
在翻譯本書時,我還以為是作者筆誤,誤將scheme敲成了schema。在與作者的郵件中,他刻意強調要將scheme翻譯為“方案”。
8.emit和emission
這個詞,在MSDN中翻譯為流出、發射、發出。本書統一翻譯為“流出”,因為譯者認為這個詞比較形象。emission是emit的名詞形式,也翻譯為“流出”。
9.關于匯編語言中的幾個術語:
slot 槽
word 字(一個字由兩個字節組成)
register 寄存器(CPU中可以存儲數據的地方)
image 映像
overflow和underflow 上溢和下溢
segment 段
section 節
align對齊
branch 跳轉(注意,不是分支)
allocation分配
10. export和import
為了不與input和output(即輸入和輸出)混淆,本書將export和import統一翻譯為“導入”和“導出”。
11.關于forward
這個詞有兩種翻譯:
forward class declaration類的預先聲明(這里翻譯為“預先”)
type forwarder類型轉發(這里翻譯為“轉發”)
12.關于entry
這個詞有很多種用法:
最顯著的是entry point,翻譯為“入口點”,如Main這樣的入口點函數。
還表示集合中的一個元素,常出現在PE頭的結構中,翻譯為“項”。
還表示二維表中的列,常出現在元數據的結構中。翻譯為“字段”。
13. edit-and-continue
翻譯為“編輯-繼續”,表示 用戶可以在調試過程中根據調試結果立即修改代碼,繼續執行程序而無需停止調試。
14. nested和embedded
二者都翻譯為“內嵌的”。其中,nested用于內嵌類,embedded用于內嵌本地代碼。
15. 關于dereference
這個詞,說白了,就是取消引用,并得到該引用,有點像Stack中的出棧操作,不是直接就出棧,還要返回出棧的對象(Push方法返回值類型為Object而不是void)。縱觀各種翻譯書籍,只有侯捷的譯文最貼切:“提領”。本書采取侯先生的版本,并在出現的地方加以注釋,以免讀者產生疑惑。
16.關于encloser和sealed
Encloser 外包,與nested(內嵌)類相對。
Sealed 密閉,表示不可繼承。
17.關于版本號的幾個術語:
MajorVersion 主版本
MinorVersion 次版本
BuildNumber 內部版本號
RevisionNumber 修訂版本號
18.關于內存布局的幾個術語:
Explicit Layout 顯示布局
Sequential Layout 順序布局
Union Layout 聯合布局
19. validation和verification
validation,有效性檢查,用于元數據;verification,驗證,用于IL代碼。詳細內容參見本書5.4章節。
此外,與這兩個術語相關的衍生物:
validity 有效性
verifiable 可驗證的
unverifiable 不可驗證的
verifiability 可驗證性
verifier 驗證器
20. retrieve和get
retrieve 檢索,有搜索并得到的意思
get 就是獲取,直接就能拿到
21.關于bind、bound和boundary
bind綁定,分詞形式為bound,集中出現在兩個地方——第4章的16個數據目錄中的Bound Import表,以及第6章的應用程序域。
此外,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/Inkoke Platform Invocation,平臺調用。
EH Managed Exception Handler,托管異常處理
TLS Thread Local Storage,線程局部存儲
23.幾個不作翻譯的術語,保持原汁原味:
stub,有的地方翻譯為“占位程序”。
wrapper,有的地方翻譯為“包裝器”。
Thunk,出現在互操作中。
sentinel,有的地方翻譯為“分隔標記”。
24.以下是一些固定翻譯,無須進一步解釋。
|
|
permission |
權限 |
virtual table(V-table) |
虛表(V表) |
fixup |
定位(用于V表) |
marshal |
封送 |
reside |
駐留 |
literal field |
文本字段 |
underlying platform |
底層平臺 |
conTR align="center"avariant |
逆變 |
covariant |
協變 |
isolated storage |
獨立存儲 |
bitfield |
位域 |
opcode |
操作碼 |
operand |
操作數 |
cyclic dependency |
循環依賴性 |
Linker |
鏈接器 |
finalizer |
終結器 |
sink |
接收器(Remoting忠的術語) |
component |
組件 |
mask |
掩碼 |
data on data |
數據上的數據 |
startup |
啟動,主要用于startup stub |
verbal description |
逐字描述 |
scope |
作用域 |
convention |
約定 |
consTR align="center"uctor |
構造函數 |
desTR align="center"uctor |
析構函數 |
specification |
說明、規范 |
instance |
實例 |
instantiation |
實例化 |
instantiatiate |
對……進行實例化(動詞) |
The most/least significant bit |
最高/低權重位 |
lower bound |
(數組)下界 |
terminator |
終結符 |
unsigned |
無符號的 |
signed |
有符號的 |
ordinal |
序號 |
neuTR align="center"al |
中立的,無關的 |
engage |
使用(用于異常程序塊) |
bitwise operation |
位操作 |
mangle |
粉碎(用于泛型) |
deploy |
部署 |
overload |
重載 |
overrideing |
覆寫 |
overriden |
被覆寫 |
filter |
篩選(對于托管異常處理) |
local variable |
局部(本地)變量 |
native |
本地的 |
culture |
文化 |
locale |
區域設置 |
location |
位置 |
localization/ localize |
本地化 |
region |
區域 |
manifest |
清單 |
underlying type |
基礎類型 |
evaluation stack |
計算堆棧 |
dispose |
釋放 |
interop assembly |
互操作程序集 |
【編輯推薦】