erl_malloc
erl_malloc
C库
erl_malloc
库摘要
内存分配功能。
描述
此模块提供分配和释放内存的功能。
输出
ETERM *erl_alloc_eterm(etype)
类型
分配(ETERM)
结构。
指定etype
作为下列常量之一:
ERL_INTEGER
ERL_U_INTEGER
(无符号整数)
ERL_ATOM
ERL_PID
(Erlang进程标识符)
ERL_PORT
ERL_REF
(Erlang参考)
ERL_LIST
ERL_EMPTY_LIST
ERL_TUPLE
ERL_BINARY
ERL_FLOAT
ERL_VARIABLE
ERL_SMALL_BIG
(大数)
ERL_U_SMALL_BIG
(大数)
ERL_SMALL_BIG
与ERL_U_SMALL_BIG
用于创建Erlang bignums
,它可以包含任何大小的整数。Erlang中整数的大小是依赖于机器的,但任何大于2 ^ 28的整数都需要一个bignum。
void erl_eterm_release(void)
清除空闲列表,其中当它们被释放块放置erl_free_term()
和erl_free_compound()
。
void erl_eterm_statistics(allocated, freed)
类型
报告术语分配统计。
allocated
与freed
初始化为包含有关用于分配ETERM
组件的修订分配器的信息。
allocated
当前分配给ETERM
物品。
freed
是空闲列表,其中当它们被释放块放置的长度erl_free_term()
和erl_free_compound()
。
void erl_free(ptr)
类型
称标准free()
功能。
void erl_free_array(array, size)
类型
释放一系列Erlang术语。
array
是ETERM的数组。%2A物品。
size
数组中的术语数。
void erl_free_compound(t)
类型
通常,程序员有责任释放从任何Erl_Interface
函数返回的每个Erlang术语。然而,由于构建新的Erlang术语的许多函数实际上与其他现有术语共享对象,因此程序员很难保持指向所有这些术语的指针以单独释放它们。
erl_free_compound()
递归地释放与指定的Erlang项相关联的所有子项,而不管我们是否仍然持有指向这些子项的指针。
有关示例,请参见Building Terms and Patterns
用户指南中的一节。
void erl_free_term(t)
类型
释放了一个Erlang术语。
void erl_malloc(size)
类型
调用标准malloc()
功能。