分配空间方法 大比较 malloc sbrk mmap

本文深入探讨了内存分配的不同方法,包括栈(stack)和堆(heap)的区别,以及使用malloc进行手动堆分配的特点。此外还对比了mmap和sbrk两种内存映射技术的特点,如浪费空间、运算速度及复杂度等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介


(From utah University Malloc)

要深刻了解 这些方程的不同 我们首先得知道存储空间的方法

stack 栈 是系统自动分配的空间 

            例如 int* a[10] 

             初始一个长度为10的array, 这个空间是 系统帮你分配好了的

但是如果你用 malloc(sizeof(int)* 10), 这个便是程序员手动非配 且存入

heap 堆里面 的我

 首先 我们来对比 一下 不同分配空间的方法

1. mmap 来分配空间

             wasteful 浪费            需要 16bytes 得到 4096 空间 

             slow 运算速度慢        需要与 核心交流

            complicated 麻烦       必须记住 分配了多少空间 去 unmap空间

2. sbrk 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值