您的位置:首页 > 编程语言 > C#

C#之托管模块

2006-09-28 10:39 295 查看
托管模块的定义:托管模块是一个需要CLR才能够执行的标准Windows可移植可执行文件。(portalbe executable 简称PE)。

托管模块的生成过程:使用CLR支持的编程语言,编写源代码文件。然后使用该语言的编译器进行语法分析和语义分析,然后生成托管代码。

托管模块的结构:
1.PE表头的信息:
一个字段指出了文件的类型: GUI,CUI或者 DLL。(这里的DLL特指.net中程序集文件的一个形式。)
一个表示时间标记的字段:表示文件创建的时间。
其他信息在当托管模块中只包含IL代码时,将会被忽略。
当模块中包含本地CPU代码时,表头还会有关于本地CPU代码的一些信息。
2.CLR表头 :
托管模块所需要的CLR版本号
一些标记
托管模块入口点方法的MethodDef元数据标记
关于托管模块的元数据、资源、强命名、标记和其他一些信息的位置和尺寸
3.元数据:
元数据表格的集合。
元数据表格分为两种:一种用于描述源代码中定义的类型和成员;一种用于描述源代码中引用的类型和 成员。
元数表格还有一中清单表。
4.中间语言代码:
编译器在编译源代码时产生的指令。CLR在运行会将IL代码编译成本地CPU指令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: