一. Microsoft.NET开发平台的体系机构 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 一. Microsoft.NET开发平台的体系机构 (http://www.webasp.net/article/28/27511.htm) |
| -- 作者:未知 -- 发布日期: 2006-04-07 |
|
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组件 |
| webasp.net |