设计二——内存管理
一、实验目的
1. 了解linux 系统的内存机制、虚拟内存管理、分页和分段机制;
2. 掌握malloc,realloc,free,calloc 函数的使用
3. 了解怎样使用物理内存和swap 分区。
4. 了解malloc,realloc,free 的实现方法,掌握linux 的内存分配算法。
二、预备知识
1.malloc函数
原型:extern void *malloc(unsigned int num_bytes);
头文件:在TC2.0中可以用malloc.h或 alloc.h (注意:alloc.h 与 malloc.h 的内容是完全一致的),而在Visual C++6.0中可以用malloc.h或者stdlib.h。
功能:分配长度为num_bytes字节的内存块
返回值:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。
说明:关于该函数的原型,在旧的版本中malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进行类型转换。
名称解释:malloc的全称是memory allocation,中文叫动态内存分配。
2.realloc函数
原型:extern void *realloc(void *mem_address, unsigned int newsize);
语法:指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。
<