Quote from: satoshi on August 27, 2010, 02:54:07 AM
Windowsにmmap(2)があるとは思えない。自作のものを作ってテストするよりも、既存のファイルコピー関数を呼び出す方が良い。
Quote from: nelisky on August 27, 2010, 01:21:09 AM
Quote from: satoshi on August 27, 2010, 01:13:42 AM
メモリに読み込んで書き出すと、メモリが逼迫している状況では失敗する可能性がある。
copyfile(const char* from, const char* to) や copyfile(path from, path to) のようなものを探している。できればBoostにあるもの。見つけてくれれば、実装に取りかかる可能性が高くなる。
Quote from: nelisky on August 26, 2010, 01:21:57 AM
ファイルコピーについては、boost依存を増やす必要があるだろうか?私としては依存の少ないコアライブラリが欲しい。
JSONやwxWidgetsの依存を置き換える十数個の機能のためにBoostは必須だ。Boostは良い、ポータブルなものだ。敬遠すべきではない。
では、私が言及したスニペットのシンプルな標準fstreamの使用の何が問題なのか?シンプルが一番だと思う Smiley
しかしboost::filesystemの機能を既に使っているなら、そこからcopy_fileを使える。他に何かのために既に必要でなければ、少々大げさだと思うだけだ。
ありがとう。どこかにあるだろうと思っていた。
すでに十数箇所でboost::filesystemを使っている。新たに追加される依存関係ではない。そうでなければ各OSごとに#ifdefを用意してあらゆる場所でテストしなければならないような、多くのポータブルなものを提供してくれる。
Windowsバージョンのmmapは返信したメッセージで言及した:CreateFileMapping
以前のメッセージで、boostからの使い方を述べた:Boost::Iostreamsには既にmapped_file Sourceがある。