- 1、本文档共71页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]C复习文档
.NET体系结构
1.C# 与.NET的关系
什么是.NET? .NET是Microsoft的一种开发模型,它使软件变得独立于平台和设备,并且支持利用Internet上的数据编程,.NET可以使程序运行于各种异构平台。
什么是.NET Framework?
是一组技术和服务
连接现有的孤立的Web应用程序
让互联网的信息在任何时间、任何地点都可以得到
简化开发和部署
C#:所有的.NET Framework中的基类库都由C#编写
C#是一种语言,而非.NET的一部分
.NET框架中最重要的元素是公共语言运行库。
在.NET中,编译分为两个阶段:
(1)把源代码编译为MSIL。 (2)CLR把IL编译为平台专用的代码。
2.Microsoft .NET Framework 概述
.NET Framework的组件
公共语言运行库(CLR) 、.NET Framework 类库 、ADO.NET——数据和 XML、XML Web Service、Web 窗体和服务
托管环境:公共语言运行库环境也称为托管环境
将在公共语言运行库的控制下运行的代码称为托管代码,否则称为非托管代码(IL),必须通过虚拟机才能将其转为机器指令
托管代码的优点:
1.平台无关性(跨平台) 3.语言的互操作性(跨语言)
2.性能的提升 4.自动内存管理 5.代码访问安全性
JIT编译器采用即时编译
针对特定的处理器优化代码
命名空间
命名空间的定义形式
namespace MyNameSpace
{ class MyClass{ } }
如果没有明确提供命名空间,类就添加到一个没有名称的全局命名空间中
命名空间可以嵌套
命名空间的作用
增强可读性
NET Framework类库包含了大量的类库,这些类库被组织在命名空间体系结构下,命名空间用“.”号来分组管理相关的类库
避免类名冲突的一种方式
System 命名空间 System 命名空间是根命名空间。 System 空间下包含 Object 对象,它是所有.NET 类的隐含基类。 System 命名空间下包含异常处理、垃圾收集、IO、数据处理、文本处理等类库
第2章 托管执行环境的介绍
编写 .NET 应用程序
使用命名空间
定义命名空间和类
入口点、作用范围和声明
控制台输入和输出
区分大小写
编译和运行 .NET 应用程序
编译器选项
托管执行的过程
托管执行过程涉及的重要概念
元数据
Microsoft 中间语言(MSIL)
程序集
应用程序域
*元数据是在编译时嵌入的说明性信息
应用程序名称、版本、区域性、公钥信息
该程序集所依赖的其他程序集
运行所需的安全权限
类型说明(名称、可见性、基类)
类型成员(方法、字段、属性、事件、嵌套的类型)
元数据表
每个元数据表都保留有关程序元素的信息。
元数据的作用
加载和定位类
元数据和MSIL包含在同一个PE文件中
元数据中包含了PE文件中所有被引用的类型和成员信息
CLR编译PE文件时,不再需要头文件
增强代码安全性
元数据包含运行代码所需的权限
安全系统使用权限阻止代码访问某些资源
解析方法调用
提供反射支持
设定运行时上下文边界
Microsoft 中间语言(MSIL)
可被任何支持中间语言的编译器产生
微软已经创建了几种支持中间语言的编译器(如:C#、J#、Visual Basic……)
其他一些公司也在创建( perl、pascal、cobol… )
可被公共语言运行库JIT编译器转变成本地代码
在可以执行代码前,必须将 MSIL 转换为 CPU 特定的本地代码,这通常是通过实时(JIT)编译完成的
*程序集的概念
程序集是一个或多个托管模块,以及一些资源文件的逻辑组合
程序集是组件复用,以及实施安全策略和版本控制的最小单位
托管模块(MSIL 和元数据)
组成程序集的元素
程序集清单(程序集元数据)
类型元数据
实现这些类型的MSIL代码
资源集
单文件程序集
使用/t:exe、/t:winexe或/t:library时,C#编译器的输出结果是一个程序集
C#编译器还支持/t:module,该命令行开关产生一个不包含程序集清单的PE文件(.netmodule)
使用反汇编工具(ildasm.exe)来查看元数据和MSIL代码
使用中间语言汇编器(ilasm.exe)将直接以MSIL汇编语言形式编写的程序进行编译
*应用程序域
过去进程边界用来隔离应用程序
在 CLR 中, 应用程序域提供应用程序之间的隔离
在CLR 中,一个
您可能关注的文档
- [工学]51单片机基础MCS-51单片机汇编语言程序设计.ppt
- [工学]5楼层与地层.ppt
- [工学]6 腔肠动物.ppt
- [工学]62噪声检测.ppt
- [工学]65 若干典型的时序逻辑集成电路.ppt
- [工学]6MCS-51定时器和计数器及其应用.ppt
- [工学]4金属材料——钢铁材料_553701408.ppt
- [工学]6注射机.ppt
- [工学]8-课件IPTV-2011.pdf
- [工学]7辅助装置.ppt
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)