2011-04-06 82 views
2

如果一个.net DLL包含托管和非托管代码,如何的代码将被转换为CIL和如何分配CLR和管理管理和非管理

+0

您是否在询问安全/不安全的代码或托管/非托管互操作性?有一个区别,精确是很重要的。 – jason 2011-04-06 16:04:10

回答

9

的非托管代码是从定义所管理的存储器CLR。它不会被转换为CIL,CLR也不会为其分配或管理内存。这只发生在托管代码上。

当您在.NET程序集中编写非托管代码时,您正在指导编译器以及您想要掌握的运行时间。你负责内存管理,就像你在编写本地代码一样。