Visual C# 技术内幕学习笔记 第一章 简介

几个重要概念

1. .NET框架

     .net框架不仅仅是一组类库。它以使用多种语言的编译器为目标,并负责为这些语言创建的程序提供一个共享的基础平台。该平台包括公共语言运行库

 

2. 公共语言运行库(Common Language Runtime)

     CLR的任务是管理和执行为.NET框架编写的代码。运行于CLR上的代码称之为托管代码(managed code)。CLR负责监视代码执行的各个方面,包括:

         1> 确定加载代码时间,管理对象在内存中的布局。

         2> 处理managed code的内存需求。

         3> 确保代码的类型安全。

         4> 使用基于异常的公共错误处理框架来处理和传播managed code中的错误。

         5> 维护运行库和应用程序的安全。有2个方面:

                    代码访问安全:保证代码在安全的上下文中执行

                    基于角色安全:控制对系统资源的访问。

 

3.程序集(assembly)

       程序集是重用,版本控制和.NET平台部署的单元。由两个部分组成:

              1> 中间语言(Intermediate Language,IL)。包含了程序的可执行部分。不可直接执行。

              2> 元数据(Metadata)。描述了程序集的内容。实现自描述。

 

4.其他概念

       私有程序集:仅有单个应用程序使用。

       共享程序集:由多个应用程序共享。可置于全局程序集缓存中。全局程序集缓存使用工具(Assembly Cache Utility)--gacutil.exe。共享程序集必须是强命名程序集(strong-named assembly)。其标识由以下4个部分组成:

             程序集名称,程序集版本号,唯一标识程序集创建者的一对公/私密钥,用于本地化的语言标识(可选)。

 

       实时编译:Just-in-time Compilation,简称jitting。各方法的代码只在需要的时候才编译。比解释执行快。

       预实时编译:prejit。使用本机映象生成器(Native Image Generator,即 ngen.exe eg:egen hello.exe)把程序集编译成专用处理器可直接执行的代码。

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值