【发布时间】:2012-03-20 06:44:23
【问题描述】:
我正在使用 NIF 进行 C-Erlang 集成,但在初始化 Binary 并添加指向其数据的 char * 时遇到了一些麻烦。
我正在这样做:
ErlNifBinary *output_binary;
enif_alloc_binary(500, output_binary);
strcpy(output_binary->data, "Here is a string");
return enif_make_binary(env, output_binary);
关于我做错了什么有什么想法吗?我遇到了分段错误。
更新:我摆脱了分段错误。但现在我无法返回包含 String 的 Erlang 二进制文件。
将enif_make_string 与 binary.data 一起使用,我在 Erlang 上得到了一个字符串。但是当我尝试将enif_make_binary 与二进制文件一起使用时,我会得到类似<<0,0,0,0,0,0,0,0,112,40,129,20>> 的内容,我需要做什么才能进行转换?
【问题讨论】:
标签: c erlang erlang-nif