在我的程序中,我看到一些驻留大小增加了。我想这是因为堆碎片。
所以我打算使用 #pragma pack 1
。
它会减少堆碎片吗?
会不会有一些其他的开销?
我去还是不去?
最佳答案
有一个经过充分证明的技术叫做 Memory pools .它专为减少内存碎片和帮助解决内存泄漏而设计。并且应该在内存碎片成为程序功能瓶颈的情况下使用。
'pragma pack 1' 无助于避免堆碎片。
“pragma pack 1”用于从结构中删除填充字节,以帮助在程序之间传输二进制结构。
关于c++ - "pragma pack 1"是否有助于避免堆碎片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23487999/