Googleでこの質問の回答を見つけることがなぜ難しいのか分かりませんが、何かを真剣に設定したいと思います。win32実行可能リソースはどのように処理されますか?
は、静的データは、そのデータはプロセスの全体のランタイムのRAMに保持されているのと同じように処理win32のリソースであるか、メモリにロードされるまで、彼らは通常のファイルのようにディスク上に保存されていますか? LoadResource/LoadStringのような関数は後者を意味しますが、私は抽象化に惑わされていないことを絶対に確信したいと思います。
一般に、ロードされるまでディスクに残りますが実装の詳細とみなしてください。パフォーマンス上の理由から、OSは実行可能ファイルをメモリに完全にロードすることを決定します(十分な大きさの場合)。何故なの? –
実行可能ファイルはメモリマップされている可能性が高いので、LoadResourceは実行ファイルのその部分をページ単位でスワップさせ、RAMが必要なときにスワップアウトします。それは私がそれをやる方法です、少なくとも。 – Gene
@Gene:それは実際に最近どのように行われているのですか?あなたのコードとまったく同じ方法でデマンドページされます。好奇心の強い関数名の理由は、実際にWin16でデータを読み込んだ後、基本的なAPIが互換性の理由でスタックしていたからです。しかし、LoadStringは実際にはテキストをロードします(最終的にはバッファパラメータをとります) – doynax