托管代码是由公共语言运行时(clr)管理执行的代码。它获取托管代码并将其编译为机器代码。之后,代码被执行。
这里的运行时即clr提供自动内存管理、类型安全等功能。
托管代码是用高级语言编写的,运行在.net之上。可以是c#、f#等。使用它们的编译器编译的代码不会生成机器代码。但是,您将得到中间语言代码,由运行时编译和执行。
c/c++代码被称为“非托管代码”,它没有这种特权。程序以二进制形式加载到内存中由操作系统负责。剩下的,程序员需要自己处理。
c++也可以生成在windows上运行的非托管二进制文件。
c#允许在代码中直接使用不安全上下文的非托管构造,它为不由clr管理的代码设置了一段代码。
以上就是c# 中的托管代码是什么?的详细内容。