如何计算碎片?

前端之家收集整理的这篇文章主要介绍了如何计算碎片?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
成像你得到一些包含字节的内存:[—– – – ——–]

让我们说“”是指分配,“ – ”表示免费.

我正在寻找如何计算碎片百分比的公式.

背景:我正在为具有静态内存的嵌入式设备实现一个微小的动态内存管理.我的目标是让我可以用来存储少量的数据.大多数无线连接的传入数据包每个128个字节.

感谢您的帮助.

解决方法

正如R.所说,它完全取决于你的意思是“碎片的百分比” – 但你可以使用一个简单的公式是:
(free - freemax)
----------------   x 100%    (or 100% for free=0)
    free

哪里

free     = total number of bytes free
freemax  = size of largest free block

这样,如果所有内存都在一个大块中,则碎片为0%,如果内存都被雕刻成数百个小块,那么它将接近100%.

原文链接:https://www.f2er.com/c/116458.html

猜你在找的C&C++相关文章