問題タブ [file-mapping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
343 参照

c++ - ファイル マッピングを開く (Windows)

ファイル マッピングを使用せずに別のプロセスからファイル マッピングに書き込む機能を使用して、Windows でファイル マッピングをどのように正しく開いて使用するか。

たとえば、プロセス A が大きなログ ファイルを書き込んだり、ファイルを開いたり、新しいデータを最後まで書き込んだり、新しいデータで書き換えたりします。

プロセス B は並行してこのファイルをファイル マッピングとして開き、時々ファイル マッピングを閉じずに更新のためにメモリ ページを読み取ります。

上で説明したロジックを実行したい理由を聞かないでください。私はそれができるかどうかを知る必要がありますか?

0 投票する
1 に答える
45 参照

winapi - FileMapped 書き込みアクセス

別のプロセスからマップされたファイルとして開かれているときにファイルに書き込もうとすると、失敗します。

コードの断片を見てください:

この時点で、ファイルは閉じられていますが (ハンドルです)、アドレス空間にマップされています。このファイルをメモ帳 ++ で開き、変更して保存しようとしましたが、次のメッセージが表示されます。

「このファイルが別のプログラムで開かれていないか確認してください。」

そのため、別のプロセスから書き換えることはできません。書き込み権限がロックされているようです。

次のようなファイルのマッピングを解除した場合:

その後、ファイルを再度書き換えることはできません。

私は何を間違えましたか?

0 投票する
1 に答える
1682 参照

c++ - メモリーブロックのコピー

4 バイトだけをコピーしたい (「value1」整数変数をメモリ ブロックに)。

コンパイルしようとすると、次のエラーが発生します。

エラー 1 エラー C2036: 'PVOID': 不明なサイズ

0 投票する
0 に答える
61 参照

c++ - C++ MapVirtualFileEx - アクセスを高速化するための複数のマップの作成

MapVirtualFile を使用して、ファイルからデータにすばやくアクセスしています。ただし、これは遅すぎます。ファイルが巨大 (300 mb) であり、別の場所から読み取る必要があるためだと思います (たとえば、ファイルの先頭から、次にファイルの末尾から)。

誰かがファイルから複数のマップを作成した経験があるかどうか知りたい. それはおそらくすべてをスピードアップしますか?

次に、たとえば 4 つのマップを作成します。ファイルのセクション 1 を指す 1 つのマップ、ファイルのセクション 2 を指す 2 番目のマップ、ファイルのセクション 3 を指す 3 番目のマップなどです。

それは可能で、データの読み取りが速くなりますか?

私のコードは巨大で、問題が解決しないことを知るために 2 日間費やす前に、これについて考えたいと思います。

ありがとうございました。

0 投票する
1 に答える
3102 参照

c++ - セマフォの WaitForSingleObject は待機せず、すぐに戻ります

Windowsファイルマッピングを使用し、セマフォを使用する単純なクライアントサーバープログラムを作成しようとしています。クライアントはサーバーに 2 つの数値を送信し、サーバーは nr1+nr2 と nr1 * nr2 を計算します。何かを試してみましたが、1 つのクライアントでも機能せず、より多くのクライアントで機能するようにしたいと考えています。コードは次のとおりです。

サーバー:

クライアント:

私は正確に何を間違っていますか?セマフォはどのように操作すればよいですか?

0 投票する
1 に答える
387 参照

delphi - FileMapping を使用してファイルを作成する

こんにちは。FileMapping を使用してファイルを読み取ります。そして今、このテクノロジーを使用してファイルを作成する必要がありますが、ファイルのサイズがわかりません。サイズが不明な場合、FileMappimg を使用してファイルを作成するにはどうすればよいですか?

0 投票する
1 に答える
437 参照

c++ - boost::interprocess メモリ マップト ファイルを関数から返しますか?

ファイル パスを渡すと、ファイル マップされたバイトが char 配列に返されるように、このコードを関数に入れるにはどうすればよいですか? 私が試したときはいつでも、関数が終了すると内容を読むことができませんか?