.Net CIL和程序集相关类容简介

尽管.net二进制文件与非托管的Windows二进制文件具有相同的文件扩展名,但他们的内部却是玩不不同的。CIL:公共中间语言,MSIL(微软中间语言)简称IL,指同一个概念。CIL是一种平台无关的语言,C# 编译器生成的CIL,并不是平台相关的指令,CIL代码必须在使用之前进行即时编译,将CIL代码编译成有意义的CPU指令的工具成为JIT(即时)编译器,.net运行库环境将使用针对各种不同的CPU的JIT编译器,每个编译器都会针对的层平台进行优化。

.net程序集也包含描述程序集自身的元数据(成为清单),清单记录了所有确保现有程序集正常工作的外部程序集、程序集的版本号、版权信息等。

当用户程序应用一个程序集,要使用他时,mscoree.dll将首先加载,然后由他将所需要的程序集导入内存,运行时引擎负责许多任务,首要的任务是负责解析程序集的位置,并通过读取其中包含的元数据,在二进制文件中发现所请求的类型。接着CLR在内存中为类型布局,将关联的CIL编译成特定平台的指令,执行所需要的安全检查,然后运行当前的代码。


大多数的.net framework程序集都位于全局程序集缓存GAC的特定目录下如:(C:\Widnows\Assembly)

引用外部程序集:当需要引用其他程序集时,右击References文件夹并且选择Add Reference(本质上这是VS指定了命令行编译器的/reference选项)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值