API-内存操作

 

内存映射/解除

 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)

 

    

posted @ 2021-04-16 22:11  迷人的危险~  阅读(141)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css