我想了解堆栈区域上的运行时内存分配以及它与堆区域上的运行时内存分配有何不同。
我知道如何使用库函数分配内存。
#include<alloca.h> void *alloca(size_t size); //(for runtime memory on stack)
#include<stdlib.h> void *malloc(size_t size); //(for run time memory on heap)
我也知道,如果我们使用 alloca 函数,我们不需要显式释放该内存,因为它与堆栈相关联,它会自动释放。
我想知道哪些系统调用与 alloc 和 malloc 相关联,以及它们在两者中的工作方式。