好山好水好风光

横看成岭侧成峰
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Microsoft.NET开发平台的体系机构

Posted on 2006-03-30 09:56  小河弯弯  阅读(302)  评论(0编辑  收藏  举报
 

1.将源代码编译成托管模块

       托管模块是一个标准的 windows可移植可执行(PE)文件。该文件需要CLR才能执行,最终用户必须在字迹的机器上安装CLR。

  托管模块的组成部分:PE标头,CLR标头,元数据,中间语言IL代码。

  其中,元数据包含两种主要类型的表:描述在源代码中定义的类型和成员的表,描述源代码引用的类型和成员的表。其作用:

1) 元数据在编译时不需要头和库文件。编译器可直接同托管模块中读取元数据

2) 使用编辑器的intellisence功能分析元数据

2. 将托管模块组合为程序集

  程序集是一个或多个托管模块或资源文件的逻辑分组。

3. 加载公共语言运行库CLR

  可以在System32目录下查找MSCoreEE.dll文件,来判断是否已经安装了.net框架。

4. 执行程序集代码

        JIT编译器将IL编译成CPU指令。

  CLR提供了一个在OS进程中执行多个托管应用程序的功能,称为AppDomain。

5. 公共语言规范CLS

        CLS定义了所有语言必须支持的最小特性集。

  在代码中,让编译器检查CLS兼容性

  [assembly:CLSCompliant(true)]

6. 非托管代码的      

        1) 托管代码可以调用DLL中的非托管函数,基于P/Invoke平台机制

   2)托管代码可以使用现有的COM组件