core.stdc.stdlib.malloc和core.memory.GC.malloc之间有什么区别?

core.stdc.stdlib.malloc和core.memory.GC.malloc之间有什么区别?,d,D,core.stdc.stdlib.malloc和core.memory.GC.malloc之间有什么区别?当程序在禁用GC的情况下运行时,我应该使用以下哪项 core.stdc.stdlib.malloc是普通C的malloc,所以内存没有注册到GC。这意味着它将不会被扫描,您必须使用C的free来释放此内存core.memory.GC.malloc由GC注册,并将对其进行扫描。两者都可以使用。但是如果您使用GC.disable,即使是core.memory.GC.malloc分配的内存也不会被

core.stdc.stdlib.malloc
core.memory.GC.malloc
之间有什么区别?当程序在禁用GC的情况下运行时,我应该使用以下哪项

core.stdc.stdlib.malloc
是普通C的malloc,所以内存没有注册到
GC
。这意味着它将不会被扫描,您必须使用C的
free
来释放此内存
core.memory.GC.malloc
GC
注册,并将对其进行扫描。两者都可以使用。但是如果您使用
GC.disable
,即使是
core.memory.GC.malloc
分配的内存也不会被释放,除非您重新启用GC,或者调用
GC.collect

顺便说一句,如果你想更好地控制内存分配,你应该看看