云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > linux系统及应用应用开发实验报告册

linux系统及应用应用开发实验报告册

  • 62 次阅读
  • 3 次下载
  • 2025/7/12 3:31:48

2、完成对思考题6.5、6.6的调试。

3、完成对思考题6.9的编制,并使用make进行维护。

五.实验结果

实验项目六 Linux内存管理

一、实验目的

(1)了解Linux内存管理的基本原理和方法; (2)了解内存申请和释放的方式;

(3)掌握malloc,realloc,free,calloc 函数的使用。

二、实验内容

(1)使用C语言编写一个包含内存分配与释放的程序,观察分析并显示运行结果; (2)通过gdb等工具对程序进行调试;

(3)在程序运行过程中观察系统内存的使用情况,验证内存管理函数的执行效果。 三.实验软件

VMWare Workstation 5.0; Red hat linux 9.0;

四.实验主要步骤

(1)内存库函数实验-malloc函数,运行程序清单6-1,写明运行结果。 (2)内存库函数实验-calloc函数,运行程序清单6-2,写明运行结果。 (3)内存库函数实验-realloc函数,运行程序清单6-3,写明运行结果。 (4)内存错误分析实验:

指出程序清单6-4的内存错误原因。 指出程序清单6-5的内存错误原因。

通过比较程序清单6-6、6-7输出结果,分析程序6-3内存错误原因。 五.实验结果

程序清单: (1)5-1

#include #include main() {

char *p; clrscr();

// clear screen

p=(char *)malloc(100); if(p)

printf(\

else

printf(\free(p); return 0; }

(2)5-2

#include #include main() {

char *p; clrscr();

// clear screen

p=(char *)calloc(100,sizeof(char)); if(p)

printf(\else

printf(\free(p); return 0; }

(3)5-3

#include #include main() {

char *p; clrscr();

// clear screen

p=(char *)malloc(100); if(p)

printf(\else

printf(\p=(char *)realloc(p,256); if(p)

printf(\else

printf(\free(p); return 0; } (4)5-4 …… Void

ApplyForMem(char *p,int num) {

p=(char*)malloc(sizeof(char)*num); return; } int main() {

char *str=NULL; ………….

ApplyForMem(str,300); free(str);

infile.close(); return 0; }

(5)5-5

#include #include #include int main() {

char z = *(const char *)0; exit(EXIT_SUCCESS); }

(6)5-6

#include “stdlib.h”

#define HEAP_BLOCK_SIZE 32 int main() {

// 分配申明heap 内存块1

char *pbuf1 = (char *) malloc(HEAP_BLOCK_SIZE);

printf(\*pbuf1 = '1';

//分配申明heap 内存块2

char *pbuf2 = (char *) malloc(HEAP_BLOCK_SIZE);

printf(\*pbuf2 = '2';

//分配申明heap 内存块3

char *pbuf3 = (char *) malloc(HEAP_BLOCK_SIZE);

printf(\*pbuf3 = '3';

// 释放heap 内存块1

printf(\block 1 (%d bytes) at Xh freed\pbuf1);

free(pbuf1);

//释放heap 内存块2

printf(\block 2 (%d bytes) at Xh freed\pbuf2);

free(pbuf2);

//释放heap内存块3

printf(\block 3 (%d bytes) at Xh freed\pbuf3);

free(pbuf3);

//分配申明heap 内存块4

char *pbuf4 = (char *) malloc( HEAP_BLOCK_SIZE);

printf(\*pbuf4 = '4';

//分配申明heap 内存块5

char *pbuf5 = (char *) malloc( HEAP_BLOCK_SIZE);

printf(\*pbuf5 = '5';

//分配申明heap 内存块6

char *pbuf6 = (char *) malloc( HEAP_BLOCK_SIZE);

printf(\*pbuf6= '6'; for(;;) { Sleep(1000); }

return 0; }

(7)5-7

#include “stdlib.h”

#define HEAP_BLOCK_SIZE 32 int main() {

// 分配申明heap 内存块1

char *pbuf1 = (char *) malloc(HEAP_BLOCK_SIZE);

printf(\*pbuf1 = '1';

//分配申明heap 内存块2

char *pbuf2 = (char *) malloc(HEAP_BLOCK_SIZE);

printf(\*pbuf2 = '2';

//分配申明heap 内存块3

char *pbuf3 = (char *) malloc(HEAP_BLOCK_SIZE);

printf(\*pbuf3 = '3';

// 释放heap 内存块3

printf(\block 3 (%d bytes) at Xh freed\

搜索更多关于: linux系统及应用应用开发实验报告册 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

2、完成对思考题6.5、6.6的调试。 3、完成对思考题6.9的编制,并使用make进行维护。 五.实验结果 实验项目六 Linux内存管理 一、实验目的 (1)了解Linux内存管理的基本原理和方法; (2)了解内存申请和释放的方式; (3)掌握malloc,realloc,free,calloc 函数的使用。 二、实验内容 (1)使用C语言编写一个包含内存分配与释放的程序,观察分析并显示运行结果; (2)通过gdb等工具对程序进行调试; (3)在程序运行过程中观察系统内存的使用情况,验证内存管理函数的执行效果。 三.实验软件 VMWare Workstation 5.0; Red hat linux 9.0; 四.实验主要

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com