【发布时间】:2012-01-06 01:05:39
【问题描述】:
有人将 SafeMM 调试内存管理器移植到 Delphi XE2 吗? 2009 SafeMM on CodeCentral 无法编译,因为 RTL 现在使用 NativeInt 而不是 Integer 作为内存函数。
【问题讨论】:
-
您有没有考虑过在适当的地方将
Integer的声明更改为NativeInt? -
我不确定它会这么简单。在我自己尝试之前,我想我会问是否有人已经将 SafeMM 移植到 Win64,所以我不会不必要地重复其他人的努力。
-
现在大多数人不是在完全调试模式下使用 [FastMM] (sourceforge.net/projects/fastmm) 吗?它似乎抓住了我曾经扔过的几乎所有讨厌的东西,并且完全是 XE2 和 64 位。
-
如果您移植它,我会很好奇 64 位 Windows 应用程序 [因为它们可以分配超过 2 gigs 的 RAM] 是否是启用内存安全测试的一种非常好的方法。使用 SafeMM,我很快就达到了 2 GB 的限制,在实际堆空间约为 100 MB 的应用程序上,SafeMM 消耗 > 2 GB。
-
@WarrenP:使用 SafeMM 的 Win64 应用程序将能够使用 PC 的所有内存,因此它比为 Win32 编译的相同应用程序具有更多的空间。
标签: delphi memory-management delphi-xe2