gpt4 book ai didi

c - 为什么代码一直在调用 mmap 和 munmap?

转载 作者:行者123 更新时间:2023-12-03 17:22:44 25 4
gpt4 key购买 nike

我试图优化 C 代码。当我使用 strace跟踪程序,我发现它一直在调用 mmapmunmap .但是这段代码只是对使用 malloc() 分配的内存元素进行操作。 .有人可以解释为什么吗?

最佳答案

malloc()不是系统调用,它只是一个库函数。根据您的平台和 C 库实现,您将看到一些用于实际获取内存的系统调用。在 POSIX 系统上从操作系统请求内存块的一种方法是调用 mmap()。 .然后库函数可以随心所欲地使用内存,在它认为合适的时候释放它,并可能稍后用 munmap() 释放它。如果不再需要。

关于c - 为什么代码一直在调用 mmap 和 munmap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26172030/

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