Erlang C API(C 到 Erlang)
官方文件 : http : //erlang.org/doc/man/erl_nif.html
Erlang C API 最重要的结构,类型和宏如下:
ERL_NIF_TERM
:Erlang 术语的类型。这是 NIF 函数必须遵循的返回类型。ERL_NIF_INIT(MODULE, ErlNifFunc funcs[], load, reload, upgrade, unload)
:这是实际创建在某个 C 文件中定义的 NIF 的宏。必须在全局范围内进行评估。通常它将是 C 文件中的最后一行。ErlNifFunc
:每个 NIF 传递给ERL_NIF_INIT
以进行导出的类型。这个结构由 name,arity,C 函数和标志的 poiter 组成。应创建具有所有 NIF 定义的此类型的数组以传递给ERL_NIF_INIT
。ErlNifEnv
:正在执行 NIF 的 Erlang 环境。必须将环境作为每个 NIF 的第一个参数传递。此类型是不透明的,只能使用 Erlang C API 提供的函数进行操作。