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
顺便说一句,如果你想更好地控制内存分配,你应该看看