有时候需要消耗指定大小的内存来验证一些问题,这个时候一些小程序就可以帮上忙了,下面这个小程序malloc_mb.c就是这样的作用:
#include stdlib.h#include stdio.h#include unistd.h#define UNIT (1024*1024)int main(int argc, char *argv[]){ long long i = 0; int size = 0; if (argc != 2) { printf(" === argc must 2"); return 1; } size = strtoull(argv[1], NULL, 10); if (size == 0) { printf(" argv[1]=%s not good", argv[1]); return 1; } char *buff = (char *) malloc(size * UNIT); if (buff) printf(" we malloced %d Mb", size); buff[0] = 1; for (i = 1; i (size * UNIT); i++) { if (i%1024 == 0) buff[i] = buff[i-1]/8; else buff[i] = i/2; } pause();}通过 gcc malloc_mb.c -o mallocMb 命令就可以生成一个小程序mallocMb; 使用./mallocMb 100 &就可以在系统中消耗掉100M的内存。













