什么是 C# 中的托管代码?
托管代码是一种通过公共语言运行时进行执行管理的代码。它获取托管代码并将其编译成机器代码。此后,代码将得到执行。
此处的运行时(即 CLR)提供了自动内存管理和类型安全等功能。
托管代码以高级语言编写,在 .NET 的基础上运行。此类语言包括 C#、F# 等。使用语言各自的编译器编译其中任何语言中的代码时,不会生成机器代码。但你将获得中间语言代码,由运行时编译并执行。
C/C++ 代码(称为“非托管代码”)没有这种权限。该程序是二进制文件,由操作系统加载到内存中。其余部分由程序员负责。
C++ 还可以生成在 Windows 上运行的非托管二进制文件。
C# 允许通过使用 unsafe 上下文直接在代码中使用指针等非托管构造。它会设置一段代码,让 CLR 无需执行这段代码。
广告