C#和.NET框架

一、.NET框架的组成

.NET是微软提供的开发平台,其组成如下:

  1. CLR(Common Language Runtime,公共语言运行库):执行环境。

  1. BCL(Base Class Library,基类库):一个庞大的基础类库。

  1. 编程工具。

二、编译运行

  1. .NET语言的编译器接受源代码文件,生成名为程序集的输出文件。程序集中包含的项目如下:

  • 程序的CIL(公共中间语言)

  • 程序中使用的类型的原数据

  • 对其他程序集引用的原数据

  1. 程序的CIL直到它被调用运行时才会被编译成本机代码。在运行时,CLR执行如下步骤:

  • 检查程序集的安全特性

  • 在内存中分配空间

  • 把程序集中的可执行代码发送给实时(Just-In-Time,JIT)编译器,把其中一部分编译成本机代码

  1. .NET平台实现语言无关性

  • 基于.NET平台的不同编程语言编写的代码先转换成公共中间语言(CIL)

  • CIL再由CLR中的JIT编译器转换成适用于本机的代码执行

三、托管代码与非托管代码

  1. 托管代码:在CLR控制之下运行的代码

  1. 非托管代码:不在CLR控制之下运行的代码

四、CLR

CLR是 .NET 框架的核心组件。CLR提供下列服务:

  • 自动垃圾收集

  • 安全和认证

  • 通过访问BCL得到广泛的编程功能,包括如Web服务和数据服务之类的功能。

五、CLI

  1. CLI(Common Language Infrastructure,公共语言基础结构):联结.NET框架组件的一组标准规范。CLI组成如下图:

  1. CLI的重要组成部分:(了解即可)

  • 公共类型系统CTS(Common Type System):定义了在托管代码中一定会使用的类型的特征。

  1. 定义了一组丰富的内置类型,以及每种类型固有的、独有的特性。

  1. .NET兼容编程语言提供的类型通常映射到CTS中以定义的内置类型集的某一个特殊子集。

  1. CTS最重要的特征之一是所有类型都继承自公共的基类--object。

  1. 使用CTS可以确保系统类型和用户定义类型能够被任何.NET兼容的语言使用。

  • 公共语言规范CLS(Common Language Specification):详细说明了一个.NET兼容编程语言的规则、属性和行为,其主题包括数据类型、类结构和参数传递。

(注:文章内容学习总结自《C#图解教程》)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、无需设置 由于它是一个便携式工具,它不需要您将其安装在目标计算机上,因为只需拆包其存档并启动可执行文件即可完全访问其功能。 您还可以从可移动存储介质(如USB闪存驱动器或外部HDD)运行它。此外,它不会修改系统中的注册表项,也不会在您的PC上生成其他文件或文件夹,但未经您的明确许可。 2、综合界面 dnSpy配备了一个时尚,全面的用户界面,包含广泛的有用功能,它们整齐地组织在主窗口的标准菜单中。 更重要的是,它具有标准配置窗口,您可以在其中调整各种组件的设置,如其反编译器,调试器或十六进制编辑器,但也可以修改显示或其他参数。 3、.NET反汇编程序 如果您需要一个高效的工具,可以通过为您提供各种有用的工具来帮助您反编译.NET程序集,您可以转到dnSpy。它配有一个反编译器,一个调试器,一个十六进制编辑器和一个程序集编辑器,让你以有效的方式处理程序集。 主窗口附带了一个Assembly Explorer窗格,您可以在其中访问所需程序集的树视图。您可以通过从计算机指定适当的文件或使用“从GAC打开”选项打开程序集,该选项为您提供全局程序集缓存中可用的条目列表。 4、.NET程序集的可靠反向工程工具 所有考虑的事情,dnSpy是一个方便的应用程序,使您能够以有效的方式逆向工程.NET程序集,为您提供广泛的有用工具,包括反编译器,程序集编辑器和调试器。它不需要安装,具有全面,平滑的用户界面,并为您提供了一个标准配置窗口,您可以在其中调整各种组件的设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值