在Erlang C NIF中分配内存



为什么要用

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

enif_alloc_resource用于创建资源,这些资源在不再使用时被虚拟机垃圾回收。enif_alloc的工作原理和malloc一样,只是使用了Erlang虚拟机的特定实现,而不是操作系统malloc。查看ErlNifResourceType的文档以及使用它的函数,了解更多细节。

相关内容

  • 没有找到相关文章

最新更新