2012-01-06 5 views
7

SafeMMデバッグメモリマネージャをDelphi XE2に移植した人はいますか? 2009 SafeMM on CodeCentralはコンパイルされません。なぜならRTLはメモリ関数にIntegerの代わりにNativeIntを使用するようになっているからです。SafeMM for Delphi XE2

+0

「整数」の宣言を、適切な場合には「NativeInt」に変更するだけでは問題ありませんか? – LaKraven

+1

私はそれがそれほど簡単になるとは思っていません。 SafeMMをWin64に移植しようとする前に誰かがSafeMMを移植しているのかどうか聞いてみたので、不必要に他の人の努力と重複することはありません。 –

+2

最近では、ほとんどの人が完全なデバッグモードで[FastMM](http://sourceforge.net/projects/fastmm/)を使用しないのですか?それは私がこれまでに投げたすべての不満を捉えるようだが、完全にXE2と64ビットである。 –

答えて

3

私はDelphi XE2 port of SafeMMをCodeCentralにアップロードしました。私はそれが正しく4 GB以上のブロックを割り当て、Win64アプリケーションで使用され、Win32アプリケーションで正しく動作する場合、4 GB以上の小さなブロックを割り当てることができることを確認しました。

2つのスレッドが同時に大きなブロック(> 4KB)を解放しようとしたときにSafeMMがクラッシュするバグを修正するために、2012年7月7日にCodeCentralの提出を更新しました。このバグは、元の開発者がSafeMMのバージョン0.3で導入したものです。このバージョンのSafeMMを古いバージョンのDelphiで使用している場合は、私のバージョンで行ったように、コードをFreeLargeBlockにラップする必要があります。

関連する問題