论坛首页 综合技术论坛

New features of NIF in Erlang/OTP R13B04

浏览 1724 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-01-31   最后修改:2010-01-31

From: http://archive.netbsd.se/?ml=erlang-questions&a=2009-12&m=12044883

 

Some new NIF features pre-released on http://github.com/erlang/otp
(branch ccase/r13b04_dev):

INCOMPATIBLE changes:

*  Function prototypes of all NIFs changed to argc-argv style:

    ERL_NIF_TERM my_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])

    The purpose is to allow more than 3 function arguments but it's also turns out to be good for performance.
    You need to go through all your NIFs and change the function prototype as well as refer to argv[N-1] (for the Nth argument) instead of named argument variables.

* erlang:load_nif has changed return value on failure from {error,A,S} to {error,{A,S}}


New API functions:

enif_make_double, enif_get_double
enif_make_ref, enif_is_ref
enif_make_existing_atom
enif_is_atom
enif_is_identical
enif_compare
enif_get_tuple

Read more in erts/doc/src/erl_nif.xml.

/Sverker, Erlang/OTP Ericsson

 

感觉NIF还不成熟,很多功能还在完善中,先别用。。。。等试验期结束后再说。

 

 

 

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics