文件,这样执行程序时,CLR将自动检查是否有个预编译的版 本存在,如果存在,CLR将加载预编译的代码,不需要额外的运行时 本存在,如果存在,CLR将加载预编译的代码,不需要额外的运行时 编译。
IL与代码验证 IL与代码验证
1、 IL是一种基于堆栈的语言 IL是一种基于堆栈的语言 2、 IL没有提供操作寄 存器的指令,开发人员可以很容易地产生IL代 IL没有提供操作寄 存器的指令,开发人员可以很容易地产生IL代 码。 3、 IL需要的指令也比较少。 IL需要的指令也比较少。 4、 IL指令是无类型的。 IL指令是无类型的。 5、 IL对CPU实现了抽象。 IL对CPU实现了抽象。
IL的最大优点是:提高了应用程序的健壮性, IL的最大优点是:提高了应用程序的健壮性, 当IL代码被编译为本地Cpu指令时,CLR将 IL代码被编译为本地Cpu指令时,CLR将 执行一个称作验证的过程。
验证过程检查高级IL代码,确保它做的每件事情都是“安全” 验证过程检查高级IL代码,确保它做的每件事情都是“安全”的。以 下是检验的一些条目: 1、 不能从未初始化的内存中读取数据。 2、 每个方法都必须传入正确的参数个数,且各个参数的类型要正确 匹配。 3、 每个方法的返回值都必须被正确地使用。 4、 每个方法都必须有一个返回语句 如果验证不通过,将有一个System.Security.VerificationException异常被 如果验证不通过,将有一个System.Security.VerificationException异常被 抛出,阻止方法继续执行。
验证的优点: 通过验证的代码,我们可以确保它们不会 访问它们不应该访问的的内存,因此也就 不会干扰另一个应用程序的代码。这意味 着我们可以在一个单独的windows虚拟地址 着我们可以在一个单独的windows虚拟地址 空间内运行多个托管应用程序。
1.5 .net框架类库 .net框架类库
.net框架中包括有一组.net框架类库 .net框架中包括有一组.net框架类库 (Framework Class Library,简称FCL)程序集, Library,简称FCL)程序集, 其中含 有几千个类型的定义,每个类型都 提供了某种功能。
CLR和FCL允许开发人员创建以
下几种应用程序: CLR和FCL允许开发人员创建以下几种应用程序: 1、XML Web 服务 即XML Web Services,又简称Web服务。 Services,又简称Web服务。 该服务使我得我们可以非常容易地通过互联网来进行方法 调用。 2、Web 窗体 即Web Forms 就是ASP.NET应用程序。他提 就是ASP