我使用 VS2015 在 Windows 64 位上开发。
我使用了一个自定义记录器,但它遭受了堆碎片的影响。我找到了log4cpp
图书馆。根据它std::ostringstream
内部使用的源代码。我的问题:
- 我认为我的主要问题是我可以
log4cpp
安全地使用而不担心堆碎片吗? - 第一个问题可能会引出以下问题:
std::ostringstream
内部如何防止堆碎片?它是否在堆栈中有多个缓冲区用于小字符串,还是总是在堆中分配一个新字符串?
我使用 VS2015 在 Windows 64 位上开发。
我使用了一个自定义记录器,但它遭受了堆碎片的影响。我找到了log4cpp
图书馆。根据它std::ostringstream
内部使用的源代码。我的问题:
log4cpp
安全地使用而不担心堆碎片吗?std::ostringstream
内部如何防止堆碎片?它是否在堆栈中有多个缓冲区用于小字符串,还是总是在堆中分配一个新字符串?