首页 > 试题广场 >

C库函数中malloc依赖下面哪个系统调用增长堆空间?()

[单选题]
C库函数中malloc依赖下面哪个系统调用增长堆空间()
  • open
  • ioctl
  • sbrk
  • write
open:打开和创建文件;
ioctl:设备输入输出操作的系统调用;
sbrk:实现虚拟内存到内存的映射;
write:将数据写入一个打开的文件。

发表于 2020-02-27 06:01:34 回复(1)
申请堆空间是使用sbrk,C++是brk()
发表于 2019-07-19 17:39:00 回复(0)
open:打开和创建文件; ioctl:设备输入输出操作的系统调用; sbrk:实现虚拟内存到内存的映射; write:将数据写入一个打开的文件。
发表于 2022-03-25 10:37:21 回复(0)
动态内存分配器,例如malloc,可以通过使用mmap和munmap函数,显示地分配和释放堆内存,或者还可以使用sbrk函数:
#include <unistd.h>

void *sbrk(intptr_t incr);
// 返回:若成功则为旧的brk指针,若出错为-1
sbrk函数通过将内核的brk指针增加incr来扩展和收缩堆。

编辑于 2019-11-20 17:54:45 回复(0)