CLR中的marshal_as 介绍
- CLR和CLI的关系
- CLI(Common Language Infrastructure)
- CLR(Common Language Runtime)
- marshal_as介绍
- marshal_as代码使用示例
- 工程文件说明
CLR和CLI的关系
- CLR 和 CLI 是与 .NET 技术密切相关的两个概念,它们在编程语言和运行时环境中扮演着重要角色。
- 简单来说,CLI 是一种标准,而 CLR 是该标准的一个具体实现,特别是在微软的 .NET 生态系统中。这使得不同语言编写的代码可以在同一个平台上无缝地一起工作
CLI(Common Language Infrastructure)
- CLI(Common Language Infrastructure)公共语言基础设施:是一个开放的标准,定义了一种可执行代码和编程语言的运行环境。它旨在支持多种高级语言,并确保这些语言可以互相操作。CLI 包含了关于类型系统、指令集、元数据等规范,使得不同的编程语言能够在相同的运行时环境下工作,并能够共享库和进行互操作
CLR(Common Language Runtime)
- CLR(Common Language Runtime)公共语言运行时:是微软对 CLI 标准的具体实现。它是 .NET 应用程序的运行时环境,负责管理正在运行的程序的执行,包括内存管理、线程管理和垃圾回收等。CLR 通过即时编译(JIT)将中间语言(IL,Intermediate Language)代码转换成本机代码,以便于直接在操作系统上执行。此外,CLR 还提供了丰富的类库(如 .NET Framework 类库),供开发者使用。
marshal_as介绍
- marshal_as 是 C++/CLI 中用于数据类型转换的工具,用于托管代码和非托管代码之间进行数据类型的转换
- 注意不要在频繁的数据转换场合,存在性能的影响
- 注意使用非托管资源时,要释放内存