为什么Erlang没有一个C NIF插件来替代calloc?

为什么Erlang没有一个C NIF插件来替代calloc?,c,erlang,erlang-nif,C,Erlang,Erlang Nif,为什么Erlang有一个C NIF替代品来代替malloc,enif_alloc,而不是calloc?从而迫使人们在enif\u alloc之后使用memset() “在R13B03中作为实验特性引入的NIFs。” 另一方面,Erlang review board也相当保守,可能是因为它出生于telelcom公司,这对于容错语言来说是可以理解的 我想我看不出您有什么问题,因为我们总是欢迎您使用calloc()编写适当的端口,并使用旧的封送处理方法。 快乐的C代码 我对Erlang不是很了解,但

为什么Erlang有一个C NIF替代品来代替
malloc
enif_alloc
,而不是
calloc
?从而迫使人们在
enif\u alloc
之后使用
memset()

“在R13B03中作为实验特性引入的NIFs。”

另一方面,Erlang review board也相当保守,可能是因为它出生于telelcom公司,这对于容错语言来说是可以理解的

我想我看不出您有什么问题,因为我们总是欢迎您使用calloc()编写适当的端口,并使用旧的封送处理方法。


快乐的C代码

我对Erlang不是很了解,但在C
calloc()
中并没有那么有用。编写良好的C代码可以避免读取尚未编写的数组元素,可以使用
malloc()
而不是
calloc()
。而且
calloc()
不能保证将指向null的指针或浮点对象的指针设置为0.0(尽管在大多数系统上都是这样)。Keith,你应该把这作为一个答案。作为注释的答案不是一个很好的主意,因为它违背了问答系统的目的。所以你说,既然写得好的c代码本身就已经设置了数组元素,那么就没有必要注册calloc?祝贺你。我的印象是NIF最快。在我的系统中,我打一个电话会得到7美元的开销。我想知道一个端口会是什么,我假设如果它是一个系统端口,它将接近相同的速度。但至少我还是得到了原始的c能量——来自纯c。