- 1
- 0
- 约3.46千字
- 约 19页
- 2019-11-13 发布于天津
- 举报
第四章内存管理接口 王兴隆 本章内容 malloc函数 calloc函数 free函数 范例4.1 4.1运行结果 mmap函数 munmap函数 范例4.2 #include sys/types.h #include sys/stat.h #include fcntl.h #include unistd.h #include sys/mman.h void main() { // 利用mmap()来读取文件内容 int fd; void *start; struct stat sb; fd = open(“/home/wxlong/OS/memory/test.txt”,O_RDONLY); // 打开文件 fstat(fd,sb); //获取文件大小 start = mmap(NULL,sb.st_size,PROT_READ,MAP_PRIVATE,fd,0); if (start == MAP_FAILED) //判断映射是否成功 return; printf(%s,start); munmap(start,sb.st_size); //解除映射 close(fd); } memset函数 范例4.3 memcpy函数 memmove函数 memcmp函数 memchr函数 评价标准 1、my_realloc需要完成如下功能: 可以实现空间的扩大和缩小; 失败时,返回NULL,原内存不发生改变; 传入的指针为NULL时,相当于malloc函数; newsize=0时,相当于free函数。 2、实际调用realloc函数时,若newsize比原指针所指空间小,则返回的指针与原指针地址相同;若newsize比原指针所指空间大,返回的指针也有可能与原指针地址相同,请解释原因? * malloc calloc free mmap munmap memset memcpy memmove memcmp memchr 内存控制 内存操作 若配置成功则返回一指针,失败则返回NULL。 函数返回值 配置内存空间 函数功能 calloc、free 相关函数 malloc()用来配置内存空间,其大小由指定的size决定。 函数输入 void *malloc(size_t size) 函数原型 #includestdlib.h (或malloc.h) 表头文件 malloc,free 相关函数 若配置成功则返回一指针,失败则返回NULL。 函数返回值 calloc()用来配置nmemb个相邻的内存单位,每一单位的大小为size,并返回指向第一个元素的指针。在利用calloc()配置内存时会将内存内容初始化为0。 函数输入 配置内存空间 函数功能 void *calloc(size_t nmemb,size_t size); 函数原型 #includestdlib.h (或malloc.h) 表头文件 malloc,calloc 相关函数 若配置成功则返回一指针,失败则返回NULL。 返回值 参数ptr为指向先前由malloc()、calloc()返回的指针。 函数输入 释放原先配置内存空间 函数功能 void free(void *ptr) 函数原型 #includestdlib.h (或malloc.h) 表头文件 #includestdlib.h #includestdio.h void main() { int* pa; int* pb; int i; pa = (int*)malloc(sizeof(int)*5); if (pa == NULL) exit(1); for (i = 0; i 5; i++) printf(“%d ”, pa[i]); //继续 printf (“\n%d”, pa); free(pa); printf (“ %d\n”, pa); pa = NULL; pb = (int*)calloc(5, sizeof(int)); for (i = 0; i 5; i++) printf (“%d ”, pb[i]); free(pb); pb = NULL; } mmap 相关函数 如果解除映射成功返回0,否则返回-1 返回值 munmap()用来取消参数start所指的映射内存起始地址,参数length则是内存大小。当进程结束或利用exec相关函数来执行其它程序时,映射内存会自动解除。 函数输入 取
您可能关注的文档
最近下载
- DB22_T 5115-2022 房屋建筑和市政基础设施工程安全管理资料标准.docx VIP
- 2025-2026学年初中艺术·美术湘美版2024七年级下册-湘美版2024教学设计合集.docx
- 2025年江西省赣州市事业单位招聘笔试题(附答案).docx
- 瓢偏度的测量 (1).pptx VIP
- 西门子6SE70变频器说明书.pdf
- 《中华商业文化》第一章 商史文化.pptx VIP
- 松下面包机SD-PT1000使用说明书.pdf
- 新解读《房屋建筑和市政基础设施工程安全管理资料标准 DB22_T 5115-2022》最新解读.docx VIP
- 郑州地区黄土状粉质黏土的力学性质研究.docx VIP
- 2009天津津湾广场一期商业规划.pdf VIP
原创力文档

文档评论(0)