微软MVP教你如何看懂.NET CLR基本术语

开发 后端
这篇对照表是由微软MVP包建强翻译整理,相信这张表对使用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

互操作程序集

【编辑推荐】

  1. 深入.NET核心 CLR函数使用举例
  2. SQL Server数据库引擎.NET CLR环境数据库管理员向导
  3. 使用LINQ和ADO.NET创建Silverlight程序
责任编辑:彭凡 来源: 博客园
相关推荐

2009-06-05 09:49:18

修改.NET Frammscorlib.dl

2009-10-22 13:02:47

SQL CLR存储过程

2009-09-18 13:05:59

.NET CLR

2010-02-25 09:06:40

ADO.NET连接池

2012-11-05 14:57:50

MVP

2009-12-31 16:07:00

微软MVP

2013-05-27 14:05:16

2009-10-13 17:08:10

CLR VB.NET

2009-10-22 16:08:52

.NET CLR是什么

2009-09-18 11:13:09

.Net CLR

2009-09-18 11:29:23

.NET CLR

2009-03-17 16:29:53

SQL ServerCLR.NET Framew

2009-11-10 15:18:35

VB.NET封面

2010-01-27 08:44:56

ASP.NET MVC

2014-03-24 09:24:08

微软MVPComCamp

2009-06-01 15:57:59

Bing必应

2010-05-04 11:42:30

IT行业微软认证

2019-06-19 09:00:00

GitLinux开源

2010-09-13 13:27:25

CSS滤镜

2012-10-31 16:31:17

谢恩伟
点赞
收藏

51CTO技术栈公众号