本章介绍用于执行内存管理的全局函数和宏。NSPR 提供基于堆的内存管理函数,这些函数映射到熟悉的 malloc()calloc()realloc()free()

内存分配函数

NSPR 有自己的堆,这些函数作用于该堆。构建在 NSPR 之上的库(例如 Netscape 安全库)使用这些函数来分配和释放内存。如果要为这些库分配内存或释放这些库分配的内存,则必须使用这些 NSPR 函数,而不是 libc 等效项。

内存分配函数是

PR_Malloc()PR_Calloc()PR_Realloc()PR_Free() 与其 libc 等效项 malloc()calloc()realloc()free() 具有相同的签名和语义。(请注意,参数类型 size_tPRUint32 替换。)由 PR_Malloc()PR_Calloc()PR_Realloc() 分配的内存必须由 PR_Free() 释放。

内存分配宏

内存分配函数的宏版本可用,以及提供编程便利性的其他宏