内存映射/解除
1 /*
2 * 参数说明
3 * (映射开始地址,映射区长度,内存权限,映射类型,文件描述符,被映射对象内容的起点)
4 *
5 * 返回值
6 * 成功 被映射区的指针
7 * 失败 (void *)-1,错误存于errno
8 */
9 void* mmap(void* start, size_t length, int prot, int flags, int fd, off_t offset);
10 int munmap(void* start,size_t length);
动态分配内存
1 /*
2 * 函数功能
3 * 申请内存,并且初始化为0
4 *
5 * 参数说明
6 * 个数
7 * 每个内存块大小
8 *
9 * 返回值
10 * 成功 申请内存的首地址
11 * 失败 NULL
12 */
13 void *calloc(int num, int size);
14
15 /*
16 * 函数功能
17 * 在堆区分配一块指定大小的内存空间,用来存放数据。这块内存空间在函数执行完成后不会被初始化,它们的值是未知的。
18 */
19 void *malloc(int size);
20
21 /*
22 * 该函数释放 address 所指向的内存块,释放的是动态分配的内存空间
23 */
24 void free(void *address);
调整内存大小
1 /*
2 * 函数功能
3 * 尝试重新调整之前调用 malloc、calloc 或 realloc 所分配的 ptr 所指向的内存块的大小。
4 * 如果为空指针,则会分配一个新的内存块,且函数返回一个指向它的指针。
5 *
6 * 参数说明
7 * 需要调整的内存地址
8 * 大小
9 *
10 * 返回值
11 * 成功 调整后的内存地址
12 * 失败 NULL
13 */
14 void *realloc(void *ptr, size_t size)