ML
Size: a a a
ML
AP
ML
ЕГ
ML
ЕГ
ML
ML
ЕГ
ML
СИ
c🦊
СИ
ML
СИ
static ERL_NIF_TERM ok = enif_make_atom(...)
) и ипользовать его игнорируя unload, reload и тд?ML
#define ATOM(name) atm_##nameигнорируй unload, reload и т.п. Атом не связан с env, его можно сравнивать:
#define DECL_ATOM(name) ERL_NIF_TERM atm_##name = 0
#define LOAD_ATOM(name) atm_##name = enif_make_atom(env,#name)
DECL_ATOM(ok);
static int
load(ErlNifEnv* env, void** priv, ERL_NIF_TERM load_info)
{
LOAD_ATOM(ok);
....
...
return ATOM(ok);
if(a == ATOM(ok)) {
...
СИ
СИ
СИ
#define ATOM(name) atm_##nameигнорируй unload, reload и т.п. Атом не связан с env, его можно сравнивать:
#define DECL_ATOM(name) ERL_NIF_TERM atm_##name = 0
#define LOAD_ATOM(name) atm_##name = enif_make_atom(env,#name)
DECL_ATOM(ok);
static int
load(ErlNifEnv* env, void** priv, ERL_NIF_TERM load_info)
{
LOAD_ATOM(ok);
....
...
return ATOM(ok);
if(a == ATOM(ok)) {
...
static {но вот сейчас гоняю unload , upgrade и как-то не понятно пока как оно должно работать
...
} atoms;
СИ
Callback environment
Passed as the first argument to all the non-NIF callback functions (load, upgrade, unload, dtor, down and stop). Works like a process bound environment but with a temporary pseudo process that "terminates" when the callback has returned. Terms may be created in this environment but they will only be accessible during the callback.