gpt4 book ai didi

C : Use of getpagesize() in malloc()

转载 作者:太空宇宙 更新时间:2023-11-04 02:05:08 25 4
gpt4 key购买 nike

getpagesize() 手册页中,写到“函数 getpagesize() 返回内存页中的字节数,其中“页”是固定长度的 block ,内存分配的单位”。

这是否意味着如果我们 malloc(10),malloc() 分配 10 * getpagesize()

此外,如果我做一个简单的程序 malloc(1)33 * getpagesize() 的断点移动:

printf("sbrk(0) : %p\n", sbrk(0));
char *str1 = malloc(1);
printf("sbrk(0) : %p\n", sbrk(0));

显示:

sbrk(0) : 0x1248000
sbrk(0) : 0x1269000
pagesize : 4096

是不是说malloc只是在内存中分配一个预防性的big place?

最佳答案

不是,malloc的分配单位是bytes。页面大小用于需要页面对齐内存或以页面为单位工作的内存功能。 mmap就是这样一种内存功能,它的某些用途有“页面”要求。

关于C : Use of getpagesize() in malloc(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21624025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com