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 提供的函数进行操作。