0

使用するアドレスのマッピングを提供するために使用できる関数はありますか?

小さなファイルをマップする必要がある場合でも、大きなページを利用する方法を見つけようとしています。私はメモリを浪費できることを知っています。必要に応じて、VirtualAlloc を使用してページ サイズのブロックを割り当て、それを分割して複数のファイルにマップすることができます。メモリ マッピングは仮想メモリ サブシステムによってサポートされているため、これは不可能であると想定しています。おそらく、メモリの 1 ページを 1 つのファイルでサポートする必要があります。

何かをする前に聞いてみようと思いました。

4

1 に答える 1

0

それは不可能だと思いますが、単なるアイデアです:

MapViewOfFileアドレス割り当ての決定はではなく に属しCreateFileMappingます。そして、MapViewOfFile確かに でいくつかのネイティブ APIを呼び出しますNTDLL.DLL実際にマッピングを作成するためにどの関数を呼び出すか、そして誰が知っているかを知ることができます— その関数はより柔軟で、 では不可能なことを可能にするかもしれませんKERNEL32. (たとえば、PE ファイルのセクションが では真似できない方法でマッピングされていることがわかっていますMapViewOfFile)。

于 2013-01-28T20:49:52.287 に答える