文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>CLR via C# 第一章

CLR via C# 第一章

时间:2011-03-18  来源:adobe_fans

将源代码编译成托管代码:

编译C#源代码的过程:C#源代码-->C#编译器-->托管模块(中间语言和元数据)

托管模块的结构:

  1. PE32或PE32+头:标准windowsPE头文件。PE32格式,只能在windows 32位系统运行。还标示了文件类型:GUI、CUI、DLL。  文件生成时间。
  2. CLR头:CLR版本、托管模块入口方法main的MethodDef元数据标记,模块元数据,资源,强名称。
  3. 元数据:两种类型的表:一、描述源代码中定义的类型和成员。二、描述源代码引用的类型和成员。
  4. IL中间语言代码:编译器编译源代码时生成的代码,在运行时,CLR将IL编译成本地cpu指令。

每个面向CLR的编译器生成的都是IL中间语言代码。除了生成IL,面向CLR的每个编译器还要在每个托管模块中生成完整的元数据,metadata。元数据是一组数据表,描述了模块中定义的内容和模块中引用的内容。元数据总是嵌入和代码相同的exe或dll文件中,是两者密不可分。(同步)

将托管模块合并成程序集:

CLR和程序集一起工作。程序集是一个或多个模块/资源文件的逻辑分组,是重用、安全性以及版本控制的最小单元。

清单是有元数据表构成的另一种集合,描述了构成程序集的文件,由程序集中的文件实现的公开导出的类型(由Public标识的类型),以及与程序集关联在一起的资源或数据文件。

对于一个可重用的、可保护的、可版本控制的组件,程序集把它的逻辑表示和物理表示区分开来。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载