常识

1、visual studio:开发工具,集成开发环境,开发平台。

  一个基本完整的开发工具集,它包括了整个软件生命周期中所需的大部分工具,如UML工具、代码管控工具、集成开发工具(IDE)等等。所写的目标适用于微软支持的所有平台,包括Microsoft windows、Windows Mobile、Windows CE、.net Framework等等。

2、C#:开发语言。很多语言都面向“运行时”,如C++,C#,VB,F#,IRon Python、Iron Ruby。不同语言只是编译器不同而已。甚至一些公司、学院和大学也创建了自己的编译器也面向CLR,如Ada,APL,Caml,COBOL,LISP,LOGO等等。

3、Microsoft .NET Framework:微软.net框架。

  包括三部分:CLR:所有.NET 程序语言公用的执行时期组件。

        .net类库:提供所有.NET 程序语言所需要的基本对象。

        重新以组件的方式写成的:旧版本则是以asp.dll提供ASP 网页所需要的对象

4、csc.exe:.net Framework中的C#编译器。

    C#语言==》csc.exe==》托管代码。

5、托管代码:

  PE32或PE32+头:如果这个头使用PE32格式,文件能在Winows 32位或64位版本上运行;如果这个头使用PE32+格式,文件只能在64位版本上运行。这个头还标识了文件类型,包括GUI,CUI或者DLL,并包含一个时间标记来指出文件的生成时间。(对于只包含IL代码的模块,PE32(+)头的大多数信息会被忽视。如果是包含本机(native)CPU代码的模块,这个头包含与本机CPU代码有关的信息)

  CLR头:包含使这个模块成为托管模块的信息(可由CLR和一些实用程序进行解释)。头中包含要求的CLR版本,一些标志(flag),托管模块入口方法(Main方法)的MethodDef元数据token以及模块的元数据、资源、强名称、一些标志及其他不太重要的数据项的位置/大小。

  元数据:每个托管模块都包含元数据表。主要有两种表:一种表描述源代码中定义的类型和成员,另一种描述源代码引用的类型和成员。

  IL语言:编译器编译源代码时生成的代码。在运行时,CLR将IL编译成本机CPU指令。

5、JIT:即时编译。

    IL语言==》CLR即时编译/本机代码编译器==》面向特定CPU架构(X86、X64或ARM)的代码:cpu指令,机器码,汇编。

6、CLR核心功能:内存管理、程序集加载、安全性、异常处理和线程同步。

例如:“运行时”使用异常来报告错误;因此,面向它的任何语言都能通过异常来报告错误。

   “运行时”允许创建线程;因此,面向它的任何语言都能创建线程。

7、闭包:

    当内层函数使用的参数是外层函数的局部变量时,编译器为这个变量创建一个闭包。

posted @ 2015-12-03 15:07  江境纣州  阅读(19)  评论(0编辑  收藏  举报