.NET CLR中的一些基本术语(中英文对照)

中英文术语对照表

 

       1. assembler compiler

       assembler 汇编器,一般用于汇编语言,如本书的ILAsm。动词形式为assemble,翻译为汇编。

       compiler 编译器,一般用于高级语言,如C#等。动词形式为compile,翻译为编译。

       原书中,作者对这两个词是有所区分的。

 

       2.assembly 程序集。很多人常常会与module(模块)混淆,以至于分不清哪一个才是真实存在的。没办法,Visual Studio默认生成单模块程序集,而多模块程序集则需要命令行工具手动配置。

       其实,把assembly翻译为“程序集”并不是很贴切,毕竟,assembly是一个很抽象的东西,而“程序集”又是那么的具体。也有的书把assembly翻译为配件,嗯,感觉不错。但是,“程序集”这个翻译我们已经口头流传了很多年,突然改口委实很不习惯,所以,本书沿袭原有翻译,不再另辟蹊径。

 

       3. propertyattribute  

       一切都是MSDN的错,以至于所有关于.NET的翻译书籍都要额外强调这两个词。property,属性;attribute,特性。不再敷述。

 

       4. parameterargument

parameter,指的是函数定义中括号里面的变量,即“形参”。

argument,指的是调用函数时传进去的数值,即“实参”。

       这两个词一般书中是不作区别的。本书中,在一段中单独出现时,统一翻译为“参数”;如果一起出现在一个段落中,会相应翻译为“形参”和“实参”以示区别。

 

       5.instructiondirective

       在汇编语言中,有以下三类指令:

指令(即instruction):机器码的助记符,有对应的机器码。

伪指令(即directive):没有对应的机器码,由编译器执行,计算机并不执行。

其它符号:如+-*等,由编译器识别,没有对应的机器码。

       本书也采取“指令”与“伪指令”的翻译来区分这两个不同的术语。

 

       6.flagtagtokenidentitylabelnotationmark

       话说,这几个词很搞,在中文里翻译都差不多。这里,统一翻译如下:

flag         标志

tag          标签

token      标记

identity   标识

label              标号

notation   符号

此外,mark这个动词,统一翻译为标注

 

       7. schemascheme

schema 架构

scheme 方案

       在翻译本书时,我还以为是作者笔误,误将scheme敲成了schema。在与作者的邮件中,他刻意强调要将scheme翻译为“方案”。

 

       8.emitemission

       这个词,在MSDN中翻译为流出、发射、发出。本书统一翻译为“流出”,因为译者认为这个词比较形象。emissionemit的名词形式,也翻译为“流出”。

 

       9.关于汇编语言中的几个术语:

slot               

word             字(一个字由两个字节组成)

register           寄存器(CPU中可以存储数据的地方)

image             映像

overflowunderflow   上溢和下溢

segment         

section          

       align                     对齐

       branch            转移(注意,不是分支switch)

allocation              分配

 

       10. exportimport

       为了不与inputoutput(即输入和输出)混淆,本书将exportimport统一翻译为“导入”和“导出”。

 

       11.关于forward

       这个词有两种翻译:

       forward class declaration       类的预先声明(这里翻译为“预先”)

       type forwarder              类型转发(这里翻译为“转发”)

 

       12.关于entry

       这个词有很多种用法:

       最显著的是entry point,翻译为“入口点”,如Main这样的入口点函数。

       还表示集合中的一个元素,常出现在PE头的结构中,翻译为“项”。

       还表示二维表中的列,常出现在元数据的结构中。翻译为“字段”。

 

       13. edit-and-continue

翻译为“编辑-继续”,表示 用户可以在调试过程中根据调试结果立即修改代码,继续执行程序而无需停止调试

 

       14. nestedembedded

       二者都翻译为“内嵌的”。其中,nested用于内嵌类,embedded用于内嵌本地代码。

 

       15. 关于dereference

       这个词,说白了,就是取消引用,并得到该引用,有点像Stack中的出栈操作,不是直接就出栈,还要返回出栈的对象(Push方法返回值类型为Object而不是void)。纵观各种翻译书籍,只有侯捷的译文最贴切:“提领”。本书采取侯先生的版本,并在出现的地方加以注释,以免读者产生疑惑。

 

       16.关于enclosersealed

       Encloser         外包,与nested(内嵌)类相对。

       Sealed            密闭,表示不可继承。

 

       17.关于版本号的几个术语:

       MajorVersion         主版本

       MinorVersion         次版本

       BuildNumber         内部版本号

       RevisionNumber    修订版本号

 

       18.关于内存布局的几个术语:

       Explicit Layout      显式布局

       Sequential Layout   顺序布局

       Union Layout         联合布局

 

       19. validationverification

       validation,有效性检查,用于元数据;verification,验证,用于IL代码。详细内容参见本书5.4章节。

       此外,与这两个术语相关的衍生物:

       validity          有效性

verifiable        可验证的

       unverifiable    不可验证的

       verifiability    可验证性

       verifier           验证器

 

       20. retrieveget

       retrieve   检索,有搜索并得到的意思

get          就是获取,直接就能拿到

 

21.关于bindboundboundary

       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 tableV-table

虚表(V表)

fixup

定位(用于V表)

marshal

封送

reside

驻留

literal field

文本字段

underlying platform

底层平台

contravariant

逆变

covariant

协变

isolated storage

独立存储

bitfield

位域

opcode

操作码

operand

操作数

cyclic dependency

循环依赖性

Linker

链接器

finalizer

终结器

sink

接收器(Remoting忠的术语)

component

组件

mask

掩码

data on data

数据上的数据

startup

启动,主要用于startup stub

verbal description

逐字描述

scope

作用域

convention

约定

constructor

构造函数

destructor

析构函数

specification

说明、规范

instance

实例

instantiation

实例化

instantiatiate

对……进行实例化(动词)

the most/least significant bit

最高/低权重位

lower bound

(数组)下界

terminator

终结符

unsigned

无符号的

signed

有符号的

ordinal

序号

neutral

中立的,无关的

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

互操作程序集

 

 

.NET CLR中的一些基本术语(中英文对照)

全文结束