编译原理考试题的题,急等着用。如果还会做的话请回复一下

您的举报已经提交成功,我们将尽快处理,谢谢!
大家还关注
(window.slotbydup=window.slotbydup || []).push({
id: '2081942',
container: s,
size: '1000,60',
display: 'inlay-fix'在.Net可执行程序载入后,IL代码由CLR (Common Language Runtime)从可执行文件中取出, 交由JIT (Just-In-Time)编译器,根据相应的元数据(Metadata),实时编译成本机代码后执行。
------------------以下是较为详细的一个解说------------------------------
MSIL编译为本机代码
运行 Microsoft 中间语言 (MSIL) 之前,必须先根据公共语言运行库将其编译为适合目标计算机体系结构的本机代码。.NET Framework 提供了两种方式来执行此类转换:
.NET Framework 实时 (JIT) 编译器。
.NET Framework 本机映像生成器 (Ngen.exe)。
使用实时编译器进行编译
在应用程序运行时,JIT 编译可以在加载和执行程序集内容的过程中根据需要将 MSIL 转换为本机代码。由于公共语言运行库为所支持的每种 CPU 体系结构都提供了一个 JIT 编译器,因此开发人员可以生成一组可在具有不同的计算机体系结构的不同计算机进行 JIT 编译和运行的 MSIL 程序集。但是,如果托管代码调用特定于平台的本机 API 或特定于平台的类库,则将只能在特定的操作系统上运行。
JIT 编译考虑了在执行过程中某些代码可能永远不会被调用的事实。它不是耗费时间和内存将可移植可执行 (PE) 文件中的所有 MSIL 都转换为本机代码,而是在执行期间根据需要转换 MSIL 并将生成的本机代码存储在内存中,以供该进程上下文中的后续调用访问。在加载并初始化类型时,加载程序将创建存根 (stub) 并将其附加到该类型的每个方法中。当首次调用某个方法时,存根 (stub) 会将控制权交给 JIT 编译器,后者会将该方法的 MSIL 转换为本机代码,并修改存根 (stub) 以使其直接指向生成的本机代码。这样,对 JIT 编译的方法的后续调用将直接转到该本机代码。
使用 NGen.exe 的安装时代码生成
由于 JIT 编译器会在调用程序集中定义的单个方法时将该程序集的 MSIL 转换为本机代码,因而必定会对运行时的性能造成影响。在大多数情况下,这种性能影响是可以接受的。更为重要的是,由 JIT 编译器生成的代码会绑定到触发编译的进程上。它无法在多个进程之间进行共享。为了能在多个应用程序调用或共享一组程序集的多个进程之间共享生成的代码,公共语言运行库支持一种提前编译模式。此提前编译模式使用本机映像生成器 (Ngen.exe) 将 MSIL 程序集转换为本机代码,其作用与 JIT 编译器极为相似。但是,Ngen.exe 的操作与 JIT 编译器的操作有三点不同:
它在应用程序运行之前而不是运行过程中执行从 MSIL 到本机代码的转换。
它一次编译一个整个的程序集,而不是一次编译一个方法。
它将本机映像缓存中生成的代码以文件的形式持久保存在磁盘上。
在将 MSIL 编译为本机代码的过程中,MSIL 代码必须通过验证过程,除非管理员已经建立了允许代码跳过验证的安全策略。验证过程检查 MSIL 和元数据以确定代码是否是类型安全的,这意味着它仅访问它已被授权访问的内存位置。类型安全帮助将对象彼此隔离,因而可以保护它们免遭无意或恶意的破坏。它还提供了对代码可以可靠地强制安全限制的保证。
运行库使用下列条件来验证代码是否为类型安全:
对类型的引用与被引用的类型严格兼容。
在对象上只调用正确定义的操作。
标识与声称的要求一致。
验证过程中检查 MSIL 代码,尝试确认该代码只能通过正确定义的类型访问内存位置和调用方法。例如,代码不允许以超出内存范围的方式来访问对象。另外,验证过程检查代码以确定 MSIL 是否已正确生成,这是因为不正确的 MSIL 会导致违反类型安全规则。验证过程通过正确定义的类型安全代码集,并且它只通过类型安全的代码。然而,由于验证过程存在一些限制,某些类型安全代码可能无法通过验证,而某些语言在设计上并不产生可验证的类型安全代码。如果安全策略要求提供类型安全代码,而该代码不能通过验证,则在运行该代码时将引发异常。
阅读(...) 评论()商品编号:
京 东 价:
[定价:¥]
支  持:
搭配赠品:
服务支持:
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
普通高等教育“十五”国家级规划教材配套参考书:编译原理习题精选与解析
加载中,请稍候...
商品介绍加载中...
扫一扫,精彩好书免费看
京东商城向您保证所售商品均为正品行货,京东自营商品开具机打发票或电子发票。
凭质保证书及京东商城发票,可享受全国联保服务(奢侈品、钟表除外;奢侈品、钟表由京东联系保修,享受法定三包售后服务),与您亲临商场选购的商品享受相同的质量保证。京东商城还为您提供具有竞争力的商品价格和,请您放心购买!
注:因厂家会在没有任何提前通知的情况下更改产品包装、产地或者一些附件,本司不能确保客户收到的货物与商城图片、产地、附件说明完全一致。只能确保为原厂正货!并且保证与当时市场上同样主流新品一致。若本商城没有及时更新,请大家谅解!
权利声明:京东上的所有商品信息、客户评价、商品咨询、网友讨论等内容,是京东重要的经营资源,未经许可,禁止非法转载使用。
注:本站商品信息均来自于合作方,其真实性、准确性和合法性由信息拥有者(合作方)负责。本站不提供任何保证,并不承担任何法律责任。
印刷版次不同,印刷时间和版次以实物为准。
价格说明:
京东价:京东价为商品的销售价,是您最终决定是否购买商品的依据。
划线价:商品展示的划横线价格为参考价,该价格可能是品牌专柜标价、商品吊牌价或由品牌供应商提供的正品零售价(如厂商指导价、建议零售价等)或该商品在京东平台上曾经展示过的销售价;由于地区、时间的差异性和市场行情波动,品牌专柜标价、商品吊牌价等可能会与您购物时展示的不一致,该价格仅供您参考。
折扣:如无特殊说明,折扣指销售商在原价、或划线价(如品牌专柜标价、商品吊牌价、厂商指导价、厂商建议零售价)等某一价格基础上计算出的优惠比例或优惠金额;如有疑问,您可在购买前联系销售商进行咨询。
异常问题:商品促销信息以商品详情页“促销”栏中的信息为准;商品的具体售价以订单结算页价格为准;如您发现活动商品售价或促销信息有异常,建议购买前先联系销售商咨询。
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
加载中,请稍候...
浏览了该商品的用户还浏览了
加载中,请稍候...
七日畅销榜
新书热卖榜
iframe(src='///ns.html?id=GTM-T947SH', height='0', width='0', style='display: visibility:')

我要回帖

更多关于 编译原理考试题 的文章

 

随机推荐