• .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

    互操作程序集
    作者:Angelo Lee
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    sql server 数据库巡检脚本
    Scala核心编程_第16章_ Akka高并发编程
    mysql临时表-两种临时表
    Scala核心编程_第15章_ scala并发编程
    Scala核心编程_第14章_函数式编程高级
    如何用 React 构建前端架构
    程序员不能一直停留在爱学习的阶段
    Spring Boot使用layui的字体图标时无法正常显示解决办法
    npm ERR! Response timeout while trying to fetch (over 30000ms)
    PostGIS9.3安装
  • 原文地址:https://www.cnblogs.com/yefengmeander/p/2887744.html
Copyright © 2020-2023  润新知