猿问
编程中托管或非托管代码是什么?
我在C#代码中使用了特定的命令,效果很好。但是,据说在“非托管”代码中行为不当。
什么是托管或非托管代码?
犯罪嫌疑人X
浏览 606
回答 3
3回答
慕村9548890
当您想到非托管时,请考虑机器专用的机器级代码。类似于x86汇编语言。非托管(本机)代码经过编译和链接,可直接在其设计用于的处理器上运行,此刻不包括所有操作系统内容。它不是便携式的,但速度很快。非常简单,精简的代码。托管代码包括从Java到旧的Interpretive BASIC的所有内容,或在.NET下运行的所有内容。通常将托管代码编译为中间级别的P代码或字节代码指令集。尽管它们看起来类似于汇编语言,但它们不是特定于机器的指令。托管代码将程序与运行它的计算机隔离开来,并创建一个安全边界,在该边界中间接分配所有内存,通常来说,您无法直接访问机器资源,例如端口,内存地址空间,堆栈等。这个想法是在更安全的环境中运行。要从托管变量转换为非托管变量,您必须先到达实际对象本身。它可能被包裹或装在其他包装中。在32位计算机上,非托管变量(例如“ int”)仅占用4个字节。没有开销或其他包装。从托管代码变为非托管代码,然后再返回的过程称为“ 封送处理 ”。它允许您的程序越过边界。
0
0
0
随时随地看视频
慕课网APP
相关分类
C#
typedef入门问题
1 回答
.NET
.net 中 字符串含有超链接,如何给超链接自动加上a标签?
1 回答
请问.net 中用jquery传值安全吗?
2 回答
我要回答