我正在写一个基于QT的C++应用程序,我需要能够检测内存碎片,以检查当前系统是否实际上可以承受内存负载:程序加载一个大图像(15/21百万像素是规范)在内存中,然后对其执行一些过滤(w /稀疏矩阵)。 例如,我在Windows中有内存碎片问题,VMMap在这方面一直非常有帮助:问题是一些DLL(Wacom tablet“wintab32.dll”和UltraMon应用程序)没有得到重定位,所以拆分地址空间在过程的0x10000000-0x30000000 VA。在运行时检测C++堆碎片的便携方法?
我想为应用程序提供一些关于碎片问题的意识,并想知道给出信息VMMAP的跨平台(linux/mac/win32)方法是否已经存在。
挑剔:堆的存在是一个实现细节,C++指的是免费商店。 – dalle 2009-09-21 09:39:35
你是对的,但我故意这么做,因为“堆”似乎是一个更普遍接受的术语;) – Manuel 2009-09-21 09:52:36
这不仅仅是术语上的差异。免费商店根本不需要堆。然而,只是实现决定解决内存分配请求。 – 2009-09-21 16:22:06