网站建设html模板下载,乌镇旅游攻略自由行,辅料企业网站建设费用,制作网页的基本步骤一、名称解释#xff1a; CLS:common language specilication#xff1a;通用语言规范#xff1b; CLR:common language Runtime 公共语言运行时。 托管代码#xff1a;编译的代码直接clr等一层一层的进行 代码编译#xff08;C#--C#编译器--CLR#xff08;把它编译为IL CLS:common language specilication通用语言规范 CLR:common language Runtime 公共语言运行时。 托管代码编译的代码直接clr等一层一层的进行 代码编译C#--C#编译器--CLR把它编译为IL--IL--本地cpu可执行代码并进行类型安全验证、资源释放等操作。 非托管代码c#语言生成的代码直接由cpu执行所以需要自己处理资源释放、类型安全检查、等一系列的操作。 元数据包含程序运行所需的一切资源信息元数据中包含3个表定义表(Def)、引用表Ref、清单表。 其中定义表、引用表中分别包含了 模块ModuleRef、MouduleDef、类型type、方法Method、字段Filed、参数Param、属性、事件的引用表和定义表都是在他们后面加Def或者ref。 清单表一组元数据的集合包含程序集中一部分文件名称、还描述了程序集的版本、语言、发布者、共有打出类型、以及程序所需的所有文件 清单元数据AssemblyDef、FileDef、MainfestResourceDef包含程序集的所以资源条目和一个该资源在资源文件或者流在FileDef表中的索引如果该资源不是单独文件则把它嵌入到PE文件中、ExportTypesDef程序集中所有的PE模块导出的每一个共有类型都在其中还包括了类型名称一个FileDef表中的引用和一个TypeDef表的索引清单PE文件中的类型不会在该表中。清单为程序使用者和其各个部分直接提供了一个层接关系实现程序集自描述。程序集清单知道该清单所包含的文件是一个程序集的但是其他程序集却不知道他们是一个程序集。 codeBase在配置文件中定义保存应用程序需要下载的程序集文件其中包含得有需要下载程序集的url。当程序加载一个程序集时CLR首先获得codebase元素的地址然后在本地机器下缓存中看是否存在该文件如果存在则加载不存在抛出FileNotFoundException异常。 程序集exe、dll定义了可重用的类型、版本号、安全相关的信息。 二、vs支持很多语言所有的语言经过自己的编译器处理clr处理最后生成IL代码。也就是说所有的语言建立在同一个基础上的所有可以实现不同语言生成的dll、或者exe文件之间公用也方便了代码的反编译。但是公用exe或者dll文件的标准是他们必须遵循CLS规则。如vb中不区分大小写、c#中区分、c中不支持无符号类型等。所有在写能让其他语言调用的代码时必须遵循cls规则统一原则。才可以相互调用可以给代码设置属性让其检查当前语言编写规范是否符合cls规则方法在类上方声明属性assembly:[CLSCompliant(true)] 编译器就会自动检查上方cls兼容。转载于:https://www.cnblogs.com/gowhy/archive/2011/04/01/2001949.html