enif_realloc_binary
是否在 enif_alloc_binary
之后复制数据,当我们只是调整大小时?
代码
ErlNifBinary output;
enif_alloc_binary(length, &output);
produce_output(input.data, length, &output);
enif_realloc_binary(&output, length - 10);
最佳答案
是的。如您所料,如果减小二进制文件的大小,它只会将那么多字节复制到新分配的空间,但如果增加大小,它会复制所有当前分配的字节。查看enif_realloc_binary
source了解详情。
关于c - Erlang enif_realloc_binary 内存复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28073411/