2011/3/11(Fri) 23:57:05|NO.37542
2GBを超えるファイルでファイルマッピングを試したことが無いので、憶測になってしまうことをまずお詫びしておきます。
まず
1.)(w/l)peek,(w/l)pokeはHSPの標準命令(関数)である
2.)引数としてHSPの変数(数値)を取る
3.)HSPの(整数型)変数(数値)は-(2^31)〜2^31-1の範囲である
これは最前提です。
まず1.)により、(w/l)peek,(w/l)pokeの処理はインタプリタに内蔵された、固定の処理であると考えられ、
2.),3.)により、引数として[signed 32bit int]しか受け取らないと考えられます。
よって
> peekのp2を2147483647以上にしたい場合はlongintを使っていいのでしょうか。
に対する答えは、「よくありません。」となります。
> 前スレでメモリマップトファイルを扱いました。
> その続きで、扱うファイルが2GBを超えた場合の話です。
そもそもファイルマッピングオブジェクトのビューとして、2GB以上ものメモリ領域を確保するのは望ましくありません。
巨大なサイズのファイルを扱う場合は、MapViewOfFileの第3〜第5引数を工夫して、出来るだけ小さい領域にわけて作業するのが望ましいです。
|