内存分配的几种方式Stack, Heap, Pool

来源:互联网 发布:黑马程序员贴吧 编辑:程序博客网 时间:2024/06/16 05:01
引述1:http://www.tuicool.com/articles/BvQrUvz
Three Ways
The figure below shows three ways of allocating memory from within a C++ application: stack, heap, custom written pool.



引述2:http://bbs.eeworld.com.cn/thread-498399-1-1.html
1、Stack为栈内存分配,快速方便但是不适合较大内存空间的分配,容易导致栈溢出。动态内存适合大块内存的分配,两种动态内存分配的方法:Heap 和 Pool 的方式。
2、Heap 的方式,每次都根据你实际需要的大小分配一块内存出来用,用完以后再还回去。
3、Pool 的方式则是,预先将内存等分成若干份,每次分配时都拿出其中的一块或几块来。假设每等份是 256bytes,而你需要300bytes 的内存空间,Pool 的方式就会给你分配两个256bytes 的内存块(一共 512bytes)。虽然有点浪费,但这种方式分配内存速度很快,非常适合在接收数据时使用。
0 0
原创粉丝点击