C 内存中的程序中断是什么?

C 内存中的程序中断是什么?,c,sbrk,brk,C,Sbrk,Brk,我正在读一篇关于为指针分配空间的文章,这篇文章没有确切说明程序中断是什么,但提到了它。我需要知道节目中断是什么。如果我用malloc..ie创建一个指向内存空间的指针 char *ptr = (char*)malloc(100); 节目中断是开始还是结束?它是p[0]或p[99]THX的地址。好的,程序中断是初始化数据段的结束,因此,通常在其他地方: 实际值取决于运行时内存分配器(也称为malloc)所使用的策略。由控制的程序中断现在没有真正使用。它现在主要是历史性的,除非你正在实现自己的内存

我正在读一篇关于为指针分配空间的文章,这篇文章没有确切说明程序中断是什么,但提到了它。我需要知道节目中断是什么。如果我用malloc..ie创建一个指向内存空间的指针

char *ptr = (char*)malloc(100);

节目中断是开始还是结束?它是p[0]或p[99]THX的地址。好的,程序中断是初始化数据段的结束,因此,通常在其他地方:


实际值取决于运行时内存分配器(也称为malloc)所使用的策略。

由控制的程序中断现在没有真正使用。它现在主要是历史性的,除非你正在实现自己的内存分配器。malloc的一些实现甚至不使用break,而只使用mmap
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>

int main() {
    char *ptr = (char*)malloc(100);
    printf("%p %p %p\n", ptr, ptr+100, sbrk(0));
    return 0;
}
0x744010 0x744074 0x765000