读.NET 框架程序设计(第一章)
2008-09-18 18:23
113 查看
任何高级语言多数情况下提供的都是CLR全部功能的一个子集。CLR允许在编程语言之间互相切换和高度集成。通过CLR ,我们可以用C#来编写应用程序的I/O部分(C#擅长),用APL来编写应用程序的工程计算部分(APL擅长)。
1 将源代码编译为托管代码
举例:C#代码--->C#编译器--->托管模块(IL和元数据)(其实以程序集的形式存在,程序集由托管模块和资源(或数据)文件组成)--->CLR执行(执行过程:举例如下)
Code
static void main()
{
Console.WriteLine("Hello");
Console.WriteLine("Goodbye");
}
检测main中代码引用的到所有类型,这里只有Console,CLR会为此分配一个单独的数据结构,此结构中,Console类型中定义的每一个方法都会有一个对应的条目,该该法对应的条目保存有方法实现代码的地址。该数据结构被初始化时,CLR将把每一个条目设置为CLR内部的一个没有正式记录的函数。
main函数第一次调用WriteLine时,JITComplier将调用该方法对应的函数,该函数负责将此方法的IL代码编译成本地CPU指令。这些CPU指令将被保存在一个动态分配的内存块中。然后JITComplier将前面数据结构中定义的方法的地址替换为包含本地CPU指令的内存块地址。
该CPU指令执行完毕,它将返回到main函数中,main函数将接着执行下面的代码。
main函数第二次执行WriteLine时,由于已经编译成本地CPU指令被保存在内存中,所以将直接跳过JITComplier的验证和编译过程,直接调用。
2. .NET框架类库
通用类型系统:
CLR所有的内容都是围绕类型(其实就是类)展开的。所以通用类型系统就是用来描述类型的定义和行为。以下为概述:
类型可以由以下几种成员组成:字段,方法,属性,事件。
通用语言规范:
所有语言特征的交集,目的就是实现不同语言之间的无缝访问。C#中使用: [assembly:CLSCompliant(true)]
CLR中,类型的每个成员或者是一个字段,或者是一个方法。
1 将源代码编译为托管代码
举例:C#代码--->C#编译器--->托管模块(IL和元数据)(其实以程序集的形式存在,程序集由托管模块和资源(或数据)文件组成)--->CLR执行(执行过程:举例如下)
Code
static void main()
{
Console.WriteLine("Hello");
Console.WriteLine("Goodbye");
}
检测main中代码引用的到所有类型,这里只有Console,CLR会为此分配一个单独的数据结构,此结构中,Console类型中定义的每一个方法都会有一个对应的条目,该该法对应的条目保存有方法实现代码的地址。该数据结构被初始化时,CLR将把每一个条目设置为CLR内部的一个没有正式记录的函数。
main函数第一次调用WriteLine时,JITComplier将调用该方法对应的函数,该函数负责将此方法的IL代码编译成本地CPU指令。这些CPU指令将被保存在一个动态分配的内存块中。然后JITComplier将前面数据结构中定义的方法的地址替换为包含本地CPU指令的内存块地址。
该CPU指令执行完毕,它将返回到main函数中,main函数将接着执行下面的代码。
main函数第二次执行WriteLine时,由于已经编译成本地CPU指令被保存在内存中,所以将直接跳过JITComplier的验证和编译过程,直接调用。
2. .NET框架类库
通用类型系统:
CLR所有的内容都是围绕类型(其实就是类)展开的。所以通用类型系统就是用来描述类型的定义和行为。以下为概述:
类型可以由以下几种成员组成:字段,方法,属性,事件。
通用语言规范:
所有语言特征的交集,目的就是实现不同语言之间的无缝访问。C#中使用: [assembly:CLSCompliant(true)]
CLR中,类型的每个成员或者是一个字段,或者是一个方法。
相关文章推荐
- [读书笔记] .Net 框架程序设计 (1)
- 终于买到了.NET 框架程序设计(修订版)
- .net 框架程序设计收藏
- 我的blog,我的地盘 附 .net 框架程序设计学习笔记一
- .net 垃圾回收学习【.net 框架程序设计】[CH19: 自动内存管理]
- 《.NET 框架程序设计》笔记(一)
- 《.NET 框架程序设计》笔记 (一)
- .Net 框架程序设计(6)
- .net 框架程序设计
- .net 框架程序设计 读书笔记(一)---.net 平台构成
- .net 框架程序设计读书笔记
- .Net 框架程序设计(2)
- .Net 框架程序设计(3)
- .net 框架程序设计 读书笔记(一)---.net 平台构成
- .Net 框架程序设计(1)
- .Net 框架程序设计(5)
- .Net 框架程序设计(4)
- 高效掌握C#笔记[第一章].NET和CLR概述
- .Net组件程序设计之序列化
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->新增记录SQL执行过程