相关函数: malloc
头文件 : #include <stdlib.h>
函数原型: void *malloc(size_t size);
函数说明: 分配内存
返回值 : 成功返回分配的内存的首地址
失败返回NULL
相关函数: free
头文件 : #include <stdlib.h>
函数原型: void free(void *ptr);
函数说明: 释放内存,参数ptr为函数malloc返回的指针,调用free后ptr所指向的内存会被系统回收。
返回值 : 无
相关函数: mmap(内存映射)
头文件 : #include <unistd.h>
#include <sys/mman.h>
函数原型: void mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset);
函数说明: mmap用来将某个文件映射到内存中,通过对内存的读写实现对文件的操作。
参数含义如下:
start : 指向映射后的内存起始地址,通常设为NULL,表示让系统来选定映射地址。操作成功后,start里的值为映射后的内存首地址。
length : 指定文件中被映射的部分的长度,以字节为单位。0表示全部映射。
prot : 映射区域的使用方式,有以下选项
PROT_EXEC 映射区域可被执行
PROT_READ 映射区域可被读取
PROT_WRITE 映射区域可被写入
PROT_NONE 映射区域不能存取
flag : 设置映射区域的属性,有以下选项
MAP_FIXED 如果start指定的地址无法映射,则放弃映射
MAP_SHARED 对映射区域的修改会复制回文件,而且允许其他映射该文件的进程共享
MAP_PRIVATE 不会影响被映射的文件
MAP_ANONYMOUS 建立匿名映射,不涉及文件,无法和其他进程共享
MAP_LOCKED 将映射区域锁住
fd : 文件描述符,代表要映射的文件
offset: 文件映射的偏移量。通常设置为0,代表从文件开始处映射,offset
必须是分页大小的整数倍
返回值 : 无
相关函数: munmap
头文件 : #include <unistd.h>
#include <sys/mman.h>
函数原型: int munmap(void *start, size_t length);
函数说明: 取消参数start所指向的映射内存。当进程结束时,内存映射会自动取消,但关闭对应的文件描述符不会取消映射
返回值 : 0 :操作成功
-1:操作失败,错误原因存于errno中
标签:函数,映射,管理,void,start,内存,include From: https://www.cnblogs.com/cnetsa/p/17003191.html