本章介绍用于执行内存管理的全局函数和宏。NSPR 提供基于堆的内存管理函数,这些函数映射到熟悉的 malloc()
、calloc()
、realloc()
和 free()
。
内存分配函数¶
NSPR 有自己的堆,这些函数作用于该堆。构建在 NSPR 之上的库(例如 Netscape 安全库)使用这些函数来分配和释放内存。如果要为这些库分配内存或释放这些库分配的内存,则必须使用这些 NSPR 函数,而不是 libc 等效项。
内存分配函数是
PR_Malloc()
、PR_Calloc()
、PR_Realloc()
和 PR_Free()
与其 libc 等效项 malloc()
、calloc()
、realloc()
和 free()
具有相同的签名和语义。(请注意,参数类型 size_t
被 PRUint32 替换。)由 PR_Malloc()
、PR_Calloc()
或 PR_Realloc()
分配的内存必须由 PR_Free()
释放。
内存分配宏¶
内存分配函数的宏版本可用,以及提供编程便利性的其他宏