0

Delphi / FastMM は OS の仕様と同じように対応できますか? http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx

私のソフトウェアが 1 テラバイト (Windows 2008 サーバー) にアクセスできるかどうかを顧客から尋ねられたので、疑問に思いました。

4

1 に答える 1

6

Delphi は、64 ビット ポインタを使用してコードを発行します。このようなポインターは、1TB を超える2 64バイトをアドレス指定できます。制限は、オペレーティング システムの仮想メモリの設計やライセンスによって課されますが、Delphi コンパイラはそのような制限について何も知りません。実行時にシステムはメモリ制限を適用し、コードはそれらの制限の対象となります。しかし、Delphi 自体にはアドレス指定の制限はありません。

同様に、FastMM には 1TB 制限の概念がありません。システムがメモリを使い果たしたと報告すると、FastMM はメモリ不足エラーを報告します。

Delphi / FastMM は OS の仕様と同じように対応できますか?

はい。


余談。Borland メモリ マネージャを使用する古い 32 ビット Delphi バージョンは、2GB ~ 4GB の範囲のアドレスと互換性がありませんでした。この問題は、そのような Delphi コードがラージ アドレス認識としてマークされたプロセスで実行された場合に発生しました。

オペレーティング システムの制限に加えて、開発ツールが制限を課している可能性があることを説明するために、これについて言及しています。現在、64 ビットの Delphi ではそのような問題はありませんが、あなたの質問は非常に有効です。

于 2013-11-27T07:40:04.540 に答える