随机数1G

  1. #cat malloc_rand_1g.c
  2. #include <stdio.h> /* printf, scanf, NULL */
  3. #include <stdlib.h> /* malloc, free, rand, system */
  4. #include <unistd.h>
  5. #include <memory.h>
  6. int main ()
  7. {
  8. int size;
  9. int n;
  10. char * buffer;
  11. size=1024*1024*1024; //1G
  12. printf ("输入字符串的长度:%d bytes\n",size);
  13. //scanf ("%d", &i);
  14. buffer = (char*)malloc(sizeof(char) * size); // 字符串最后包含 \0
  15. if(buffer==NULL) exit(1); // 判断是否分配成功
  16. memset(buffer,'a',sizeof(char) * size);
  17. printf("total bytes:%d bytes \n",sizeof(char) * size);
  18. // 随机生成字符串
  19. for(n=0; n<size; n++){
  20. buffer[n] = rand()%26+'a';
  21. // printf("%c",buffer[n]);
  22. }
  23. printf("\n");
  24. buffer[size+1]='\0';
  25. // printf ("随机生成的字符串为:%s\n",buffer);
  26. printf("wait about 1800s....\n");
  27. sleep(1800);
  28. free(buffer); // 释放内存空间
  29. printf("clean up....\n");
  30. return 0;
  31. }

memset(a)

  1. #cat malloc_a_1g.c
  2. #include <stdio.h> /* printf, scanf, NULL */
  3. #include <stdlib.h> /* malloc, free, rand, system */
  4. #include <unistd.h>
  5. #include <memory.h>
  6. int main ()
  7. {
  8. int size;
  9. int n;
  10. char * buffer;
  11. size=1024*1024*1024; //1G
  12. printf ("输入字符串的长度:%d bytes\n",size);
  13. //scanf ("%d", &i);
  14. buffer = (char*)malloc(sizeof(char) * size); // 字符串最后包含 \0
  15. if(buffer==NULL) exit(1); // 判断是否分配成功
  16. memset(buffer,'a',sizeof(char) * size);
  17. printf("total bytes:%d bytes \n",sizeof(char) * size);
  18. // 随机生成字符串
  19. for(n=0; n<size; n++){
  20. buffer[n] = 'a';
  21. // printf("%c",buffer[n]);
  22. }
  23. printf("\n");
  24. buffer[size+1]='\0';
  25. // printf ("随机生成的字符串为:%s\n",buffer);
  26. printf("wait about 1800s....\n");
  27. sleep(1800);
  28. free(buffer); // 释放内存空间
  29. printf("clean up....\n");
  30. return 0;
  31. }

mmap

  1. #cat mmap_1g.c
  2. #include<stdio.h>
  3. #include<sys/mman.h>
  4. #include<unistd.h>
  5. #include<stdlib.h>
  6. #include<string.h>
  7. #define SIZE 1024*1024*1024
  8. #define GB 1
  9. int main(int argc,char* argv[]) {
  10. char *p;
  11. int i=1;
  12. for (i=1;i<=GB;i++) {
  13. if ((p = (char *)mmap(NULL,SIZE, PROT_READ |
  14. PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, -1, 0)) == (void *)-1) {
  15. perror("mmap");
  16. }
  17. memset(p,'c',SIZE);
  18. printf("Get %d GB...\n",i);
  19. }
  20. sleep(3000);
  21. return 0;
  22. }

mmap,malloc分配随机内存的更多相关文章

  1. malloc分配的内存空间是连续的吗

    1.linux内核管理内存空间的分配,所有程序对内存空间的申请和其他操作,最终都会交给内核来管理. 2.linux实现的是“虚拟内存系统”,对用户而言,所有内存都是虚拟的,也就是说程序并不是直接运行在 ...

  2. 关于被malloc分配内存的指针

    例如创建了一个链表指针p并为其malloc()分配了内存,那么这个指针指向的地方其实是有数据的. 你可以把p->data打印出来,会发现是一个随机值 因为只是分配内存而没有指定data的值,所以 ...

  3. malloc分配内存的结构

    在C/C++,我们都可以使用malloc进行分配大小,单位是字节.   malloc实际分配的内存大小和传入的参数其实是不同的.   实际分配的内存大小>传入的参数大小. malloc分配的内存 ...

  4. Linux中brk()系统调用,sbrk(),mmap(),malloc(),calloc()的异同【转】

    转自:http://blog.csdn.net/kobbee9/article/details/7397010 brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的:  ...

  5. 堆/栈的比较 以及 malloc/new动态内存的开辟

    堆与栈的比较:1.申请方式(1)栈(satck):由系统自动分配.(2)堆(heap):需程序员自己申请(c:调用malloc,realloc,calloc申请 free 来释放),并指明大小,并由程 ...

  6. c malloc分配内存

    php中的内存分配有用类似emalloc这样的函数,emalloc实际上是C语言中的malloc的一层封装,php启动后,会向OS申请一块内存,可以理解为内存池,以后的php分配内存都是在这块内存池中 ...

  7. malloc分配到一块内存,读写操作时却发生segmentation falt的奇怪问题。

    期初现象:malloc一块内存,读写操作时发生segmentation falt.一般来讲malloc倘若失败应该抛出异常,所以malloc返回一个指针后,这个指针应该都是可用的,况且是进行读操作. ...

  8. C++ 内存、new与malloc分配内存区别?

    一关于内存 1.内存分配方式 内存分配方式有三种: (1)从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量. (2)在栈上创建. ...

  9. malloc(0)分配多少内存?(译文)

    原文地址:http://prog21.dadgum.com/179.html 在大多的系统中,这个C的小程序将会吸收全部空闲的内存. ){ ); } 在我们聊malloc(0)之前,让我们看看mall ...

随机推荐

  1. Mysql学习总结(39)——30条MySql语句优化技巧

    1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉 ...

  2. 2767 Proving Equivalences 至少加几条边让全部图变成强连通模板题

    #include<stdio.h> #include<string.h> #define N 21000 struct node { int u,v,next; }bian[N ...

  3. CODEVS——T 2618 核电站问题

    http://codevs.cn/problem/2618/  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description ...

  4. 第三篇:SpringBoot - 数据库结构版本管理与迁移

    SpringBoot支持了两种数据库结构版本管理与迁移,一个是flyway,一个是liquibase.其本身也支持sql script,在初始化数据源之后执行指定的脚本,本章是基于 Liquibase ...

  5. 奇妙的go语言(基本的语法)

    [ 声明:版权全部,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 学习一门新的语言无非就是从主要的语法開始的.通过语法书来学习语言毕竟是很枯燥的,所以我们最好还 ...

  6. SQL优化(SQL TUNING)之10分钟完毕亿级数据量性能优化(SQL调优)

    前几天.一个用户研发QQ找我,例如以下: 自由的海豚. 16:12:01 岛主,我的一条SQL查不出来结果,能帮我看看不? 兰花岛主 16:12:10 多久不出结果? 自由的海豚 16:12:17 多 ...

  7. KeyEvent 键码值

    A 至 Z 键与 A – Z 字母的 ASCII 码同样: 值 描写叙述 65 A 键 66 B 键 67 C 键 68 D 键 69 E 键 70 F 键 71 G 键 72 H 键 73 I 键 ...

  8. Linux控制台版本号2048

    在Github上看到一个荷兰人写的linux控制台版的2048,用的C语言.感觉非常有意思. 原网址在这里. 读了一下他的源代码,感觉写的不错.就厚着脸皮加了一些中文凝视,源代码例如以下: /* == ...

  9. spring中abstract bean的使用方法

    什么是abstract bean?简单来说.就是在java中的继承时候,所要用到的父类. 案例文件结构: 当中Person类为父类.Student类为子类,其详细类为: package com.tes ...

  10. 求int型数据在内存中存储时1的个数

    1.求int型数据在内存中存储时1的个数 输入一个int型数据,计算出该int型数据在内存中存储时1的个数. 我们非常easy想到例如以下方法: #include <iostream> u ...