12

たとえば、UNIX では、将来マッピングが必要になることを OS に伝えることができますposix_fadvise(POSIX_FADV_WILLNEED)。そう感じた場合は、データを先読みします。

アクセスの意図を Windows に伝える方法は?

4

3 に答える 3

11

Windows 8 以降、PrefetchVirtualMemoryこの目的のための機能があります。

于 2013-09-19T17:49:44.033 に答える
10

実際、アンダースが主に示唆しているように、Windows7以前で利用可能なメモリ管理機能にはそのような方法はありません

同様のことを行うには、2つの異なる方法があります。

  • ReadFileExを使用して非同期でデータを読み取ります。後で必要になったときに、データがファイルキャッシュに残っている可能性があります。
  • CreateFileFILE_FLAG_SEQUENTIAL_SCANの属性を持つストリーミングヒントを使用してファイルを開きます。その場合、先読みはおそらく自動的に行われます。
于 2009-12-08T17:19:16.023 に答える
5

FILE_FLAG_RANDOM_ACCESSまたはFILE_FLAG_SEQUENTIAL_SCANCreateFile()に渡すことができます

于 2009-07-29T16:58:44.297 に答える