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