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指令。
托管模块的生成过程:使用CLR支持的编程语言,编写源代码文件。然后使用该语言的编译器进行语法分析和语义分析,然后生成托管代码。
托管模块的结构:
1.PE表头的信息:
一个字段指出了文件的类型: GUI,CUI或者 DLL。(这里的DLL特指.net中程序集文件的一个形式。)
一个表示时间标记的字段:表示文件创建的时间。
其他信息在当托管模块中只包含IL代码时,将会被忽略。
当模块中包含本地CPU代码时,表头还会有关于本地CPU代码的一些信息。
2.CLR表头 :
托管模块所需要的CLR版本号
一些标记
托管模块入口点方法的MethodDef元数据标记
关于托管模块的元数据、资源、强命名、标记和其他一些信息的位置和尺寸
3.元数据:
元数据表格的集合。
元数据表格分为两种:一种用于描述源代码中定义的类型和成员;一种用于描述源代码中引用的类型和 成员。
元数表格还有一中清单表。
4.中间语言代码:
编译器在编译源代码时产生的指令。CLR在运行会将IL代码编译成本地CPU指令。
相关文章推荐
- [CLR via C#]1.2 将托管模块合并成程序集
- 『框架设计(第2版)CLR Via C#』学习笔记(001)——将源代码编译成托管模块
- CLR via C# FOURTH EDITION(一)将源代码编译成托管模块
- clrvia,初读CLR Via C# :CLR,托管模块,程序集,Main方法的运行过程
- CLR via C# 3 读书笔记(2):第1章 CLR执行模型 — 1.2 将托管模块组合为程序集
- CLR_via_C#.3rd 翻译[1.1将源文件编译为托管模块]
- [CLR via C#]1.2 将托管模块合并成程序集
- CLR_via_C#.3rd 翻译[1.2将托管模块组合到集]
- CLR via C# 3 读书笔记(1):第1章 CLR执行模型 — 1.1 将源代码编译为托管模块
- CLR via C# FOURTH EDITION (二) 将托管模块合并成程序集
- 【C#进阶系列】02 PE文件,程序集,托管模块,元数据——还是那个Hello world
- DNN 4.X如何用C#语言进行模块开发
- C# 调用Dll中非托管C++代码时,函数参数的类型对照
- C#调用Python脚本并使用Python的第三方模块
- 将托管模块合并成程序集
- 用C#写托管的存储过程 (翻译一)
- 堆栈和托管堆 c#(2)
- 托管模块的组成
- MyBatis源码解析(七)——DataSource数据源模块之托管数据源