美文网首页
内存分配

内存分配

作者: 滩主 | 来源:发表于2020-06-07 11:55 被阅读0次

观察brk和mmap
cat /proc/$pid/maps

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>

int main()
{
    char* p0 = sbrk(0);
    //*p0 = 65;

    malloc(1);
    char* p1 = sbrk(0);
    printf("%d %p %p\n",p1-p0,p1,p0);
    malloc(1);
    char* p2 = sbrk(0);
    printf("%d %p %p\n",p2-p0,p2,p0);


    //*(p0+1024*136-1) = 65;
    //*(p0+1024*136) = 65;

    char* s = malloc(1024*256);
    char* p3 = sbrk(0);
    printf("%d %p %p %p\n",p3-p0,p3,p0,s);
    // s[1024*260] = 65;
    s[1024*260-16-1] = 65;

    sleep(500);
    //s[1024*1024-1] = 65;
    //char* p4 = sbrk(0);
    //printf("%d %p %p\n",p4-p0,p4,p0);

}

相关文章

  • 《C语言》malloc函数使用

    动态分配、静态分配 静态分配:计算机随机自动分配内存,周期结束后自动释放内存动态分配:手动分配内存,手动释放内存 ...

  • (二)C语言之动态内存分配

    (二)C语言之动态内存分配 一、静态内存分配 定义是指定分配的内存长度就是静态内存分配,是在栈内存中分配 二、C语...

  • javascript内存管理

    内存声明周期 分配你所需要的内存 使用分配的内存(读写) 不再需要时释放内存 内存分配 javascript在声明...

  • docker 的资源分配

    内存分配 -m 或者--memory :分配内存--memory-swap:分配临时内存docker run -i...

  • Java中四种引用

    Java内存管理包括内存分配和内存回收。 内存分配:程序员通过new对象,JVM会自动为该对象分配内存。 内存回收...

  • Java编程语言:java中四种引用!欢迎补充

    Java内存管理包括内存分配和内存回收。 内存分配:程序员通过new对象,JVM会自动为该对象分配内存。 内存回收...

  • 回顾JVM内存分配

    回顾JVM内存分配回顾JVM内存分配

  • 探索iOS内存分配

    探索iOS内存分配 探索iOS内存分配

  • 内存管理:部分基础知识

    一、内存分区二、常用数据类型占用内存大小三、给对象分配内存 1、给结构体分配内存及内存对齐 2、内存分配完后,内存...

  • C语言内存分配(重)

    内存分配的类型: 静态内存分配: 全局变量、静态全局变量、静态局部变量; 静态内存分配是在程序编译时分配的内存空间...

网友评论

      本文标题:内存分配

      本文链接:https://www.haomeiwen.com/subject/uifctktx.html