读书人

请教一下呀_msize的有关问题

发布时间: 2012-05-27 05:42:30 作者: rapoo

请问一下呀_msize的问题?
1.我看很少有人使用_msize,是不是这个函数用来获取堆上动态申请的内存块大小有什么缺陷呀,还是有什么需要什么注意的?
2.有人知道_msize是什么工作原理,是怎么来判断堆上申请内存的大小的?

[解决办法]
1.很少人用是因为他不是标准的c库函数。应该是微软提供的,所以不具备通用性和可移植性。

2.原理无非是在分配内存时候在某个地方存放了分配的大小,而__msize从这个簿记内存大小的地方取出这个值。
[解决办法]
很少有人使用它的原因是:它不是一个标准库函数,用了它就意味着降低了程序的可移植性。

原理很简单:malloc在申请来的内存块里隐含保存了块大小信息,而这个函数能取出那个被隐藏的信息。
[解决办法]
这个东西 本来就是获取堆内存分配的大小,也就一是malloc函数一族,但是我们在使用这些函数的时候完全可以自己保存这些分配的大小。

读书人网 >C++

热点推荐