C#之托管模块

托管模块的定义:托管模块是一个需要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指令。

                   
                        

你可能感兴趣的:(C#之托管模块)