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