【发布时间】:2016-07-15 12:43:43
【问题描述】:
我想了解 CLR 中本机堆的内存管理。我知道 CLR 有管理堆。例如,我正在使用 C++/CLI 绑定库,它演变了一些 C++ 库。在其工作期间,C++ 库可以分配对象。这些对象会在 CLR 的本机堆中分配吗?据我了解,CLR 具有将在 CLR 运行期间创建的本机和托管堆。
【问题讨论】:
-
您阅读的内容是正确的,但已被简化。对于本机堆,请阅读:msdn.microsoft.com/en-gb/library/windows/desktop/…
-
基本上,C++ 的
new将调用HeapAlloc。 C++/CLI 的gcnew将在托管堆上分配。本机堆不以任何方式属于 CLR。