您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

通过malloc()进行的Windows和Linux本机OS /系统调用是什么?

通过malloc()进行的Windows和Linux本机OS /系统调用是什么?

在Windows中,在最新版本的MSVC中,malloc(和C new,因为它使用与实际内存分配部分相同的基本原理来实现 new调用 HeapAlloc()。在其他版本(例如g mingw)中,C运行时是一个较旧的版本,它的调用方式不像直接调用HeapAlloc,但是在它的基础上,它仍然指向HeapAlloc-要找到不同的地方,我们需要返回到Windows 95之前的版本确实具有GlobalAllocLocalAlloc函数集-但是我认为人们现在不使用16位编译器-至少不是Windows编程。

在Linux中,如果您使用glibc,则它取决于分配的大小(是调用sbrk还是mmap--mmapMAP_ANONYMOUS在标志中)用于更大的分配(超过阈值,我相信在典型的实现中为2MB))

其他 2022/1/1 18:16:25 有541人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶