• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メモリマップドファイルを可変長メモリプールとして)

メモリマップドファイルを使用した可変長メモリプールの実装方法

このQ&Aのポイント
  • メモリマップドファイルを使用して可変長メモリプールを実現する方法について説明します。
  • メモリマップドファイルを読み取り専用で開くことで、大きなファイルを一度にメモリに読み込む必要がなくなります。
  • メモリマップドファイルを操作する際は、ポインタ操作やオフセットを利用してアドレスを管理します。これにより、必要なデータのみをメモリ上に確保し、高速な処理を実現することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

メモリマップドファイルは標準には含まれない (はず) なので, その実装などは使っているシステムに依存すると思います. 例えば, Windows なのか FreeBSD なのか Linux なのかによって違うかもしれませんよ.

LongSecret
質問者

お礼

ご回答ありがとうございます♪ それは重要な情報ですね。 考えてみれば、OSと密接に関係してそうですからね。 将来的な移植の可能性を考えると、あまり長すぎるコードを組むのも得策ではないかもしれません。 とりあえずは、WindowsのXP以降を対象と考えたいところです。 ちょっと確認してみたら、現在は宣言と定義で占めて550行程度でした。 アプリケーションの総合的なパフォーマンスを考えると これはかなり重要な部分ではあるので 逆に、内容にもよりますが、1000行くらいまでなら移植するのもそれほどきつくはないかな、と思っています。

LongSecret
質問者

補足

(12/27) 久しぶりに見てみたら メモリマップドファイルではなくメモリ上での可変長プールで、単独での解放手順がないバージョンはEfficient C++に載っていました。 やはり単独での解放手順があるのとないのとでは結構必要事項の量が変わってきますが (その他の色々なサイトなども含め)少なくとも、現状かなりいい線いってることは確かなはずと感じたことと システム依存という情報が得られたこと(この情報があるだけでかなり色々なことが考えられますので)を踏まえ 今回の質問は締め切りとさせていただきます。 ども、ありがとうございました。

関連するQ&A