Linux_ 内存管理demo
2016-03-31 13:15
316 查看
main1.c
main2.c
main3.c
main4.c
main5.c
main6.c
#include <stdlib.h> #include <stdio.h> int main(void) { char *buff; void *buff2; buff = malloc(1024); // ∏≥÷µ ±Ω¯––¡À¿‡–Õ◊™ªª //µ»Õ¨”⁄: buff = (char*)malloc(1024); printf("buff addr is %p \n", buff); sprintf(buff, "hello !\n"); printf("buff: %s", buff); buff2 = malloc(1024); //int x = *buff2; // ≤ªƒ‹÷±Ω”∂‘void*÷∏’ÎΩ¯––∂¡–¥£¨–Ë“™œ»Ω¯––¿‡–Õ◊™ªª°£ return 0; }
main2.c
#include <stdio.h> #include <stdlib.h> #define MEM_SIZE (1024*2) /*UNIT: M*/ int main(void) { char *buff; int count = 0; while (count++ < MEM_SIZE) { buff = (char*)malloc(1024*1024); if (buff) { sprintf(buff, "hello"); printf("malloc %d M bytes memory!\n", count); } else { printf("malloc faile!\n"); break; } } return 0; }
main3.c
#include <stdio.h> #include <stdlib.h> int main(void) { char *buff; int count = 0; while (1) { buff = (char*)malloc(1024*1024); if (buff) { sprintf(buff, "hello"); printf("malloc %d M bytes memory!\n", ++count); } else { printf("malloc faile!\n"); break; } } return 0; }
main4.c
#include <stdlib.h> #include <stdio.h> int main(void) { char *buff; char *p; buff = (char*)malloc(1024); *(buff+1025) = 0; p = buff + 1025; while (1) { *p = 0; p++; } return 0; }
main5.c
#include <stdio.h> #include <stdlib.h> int main(void) { char *p = 0; *p = 1; return 0; }
main6.c
#include <stdio.h> #include <stdlib.h> int main(void) { char * buff; char *p; buff = (char*)malloc(1024); p = buff + 1; //free(buff); free(p); //Ω´≤˙…˙∂Œ¥ÌŒÛ return 0; }
相关文章推荐
- Linux_ 内存管理
- Linux_fork 进程操作demo
- Linux_ fork 进程操作
- Linux学习总结——实践
- 《Linux内核设计与实现》第3章读书整理
- Linux _文件操作demo
- 《Linux内核设计与实现》Chapter 3 读书笔记
- Linux信号处理
- 《Linux内核设计与实现》第三章学习笔记
- 分析Linux内核创建一个新进程的过程
- 《Linux内核设计与实现》第三章学习笔记
- Linux _文件操作
- Linux 中的零拷贝技术
- Linux内核设计与实现 第三章
- 通过19幅图为你展现CentOS安装全过程
- Centos上的双网卡绑定
- linux netstat 统计连接数
- Linux命令教程
- linux及安全第六周总结——20135227黄晓妍
- centos6.6下安装Gcc4.8.1