Erlang NIF使用

Erlang NIF使用

NIF库是Erlang源码里经常出现的东西,它像其他函数一样被调用,对调用方来说没区别,本身为C实现,效率较高,今天在Linux下测试一下NIF的自定义实现过程

在Erlang中,NIF(Native Implemented Function)被用来扩展erlang的某些功能,一般用来实现一些erlang很难实现的,或者一些erlang实现效率不高的功能。

NIF使用C开发,效率和C接近,比纯erlang实现要高。NIF会编译成动态库,直接动态加载到erlang进程空间调用,也是erlang扩展新方法最高效的做法。调用NIF不用上下文的切换开销。

注意:NIF方法实现的函数如果崩溃了会使整个VM崩溃

最简单的NIF库实现

niftest.c

/* niftest.c */
#include <erl_nif.h>

static ERL_NIF_TERM hello(ErlNifEnv
上一篇:RabbitMQ3.9.7在CentOS7中的安装搭建


下一篇:Win10下erlang -name启动节点异常崩溃解决方案