标签: c linux memory-management
我想在c代码中编写一个函数来找到可用的空闲堆空间,所以我决定找到diff。 b / w程序中断和堆栈指针,它将为堆空间提供可用空间。我使用sbrk(0)来查找我每次运行可执行文件时观察到的“程序中断值不断增加”的程序中断值。
1)为什么每次都在增加?如果地址空间中的堆和堆栈对于每个进程都是个体的,那么在我调用malloc()之前它不应该增加吗?
2)请告诉我,如果我使用正确的逻辑来查找可用的堆空间,如果没有,请解释正确的逻辑来执行此操作。
Os:Linux代码:C