小编典典

什么是编程中的托管或非托管代码?

all

我在我的 C# 代码中使用了一个特定的命令,效果很好。但是,据说它在“非托管”代码中行为不端。

什么是托管或非托管代码?


阅读 75

收藏
2022-09-02

共1个答案

小编典典

这是来自 MSDN 的一些关于非托管代码的文本。

一些库代码需要调用非托管代码(例如,本机代码 API,如 Win32)。因为这意味着要超出托管代码的安全边界,所以需要格外小心。

以下是有关托管代码的其他一些补充说明:

  • 由 CLR 执行的代码。
  • 面向公共语言运行时(.NET Framework 的基础)的代码称为托管代码。
  • 托管代码提供 CLR 所需的元数据,以提供诸如内存管理、跨语言集成、代码访问安全和对象的自动生命周期控制等服务。所有基于 IL 的代码都作为托管代码执行。
  • 在 CLI 执行环境下执行的代码。

对于您的问题:

我认为这是因为 NUnit 为 UnitTesting
执行您的代码,并且可能有一部分是非托管的。但我不确定,所以不要把它当作黄金。我相信有人可以给你更多关于它的信息。希望能帮助到你!

2022-09-02