为什么要用
void *enif_alloc_resource(ErlNifResourceType* type, unsigned size)
与...相对
void *enif_alloc(size_t size)
当试图从Erlang C NIF分配内存时会出现什么情况?参考文献没有详细说明原因。http://www.erlang.org/doc/man/erl_nif.html#enif_alloc
vkc1a9a21#
enif_alloc_resource用于创建不再使用时由VM垃圾收集的资源。enif_alloc的工作原理与malloc类似,只是它使用Erlang VM特定实现而不是操作系统malloc。有关更多详细信息,请查看ErlNifResourceType的文档和使用它的函数。
enif_alloc_resource
enif_alloc
malloc
ErlNifResourceType
1条答案
按热度按时间vkc1a9a21#
enif_alloc_resource
用于创建不再使用时由VM垃圾收集的资源。enif_alloc
的工作原理与malloc
类似,只是它使用Erlang VM特定实现而不是操作系统malloc
。有关更多详细信息,请查看ErlNifResourceType
的文档和使用它的函数。