butterfly search 2.8e をリリースしました。
butterfly search 2.8e をリリースしました。
リリース先: https://www.vector.co.jp/soft/winnt/util/se437071.html
(vectorさんでの審査後に公開されます。執筆時点では2.8dが公開されています)
大きな改善点としてインデックス生成時のエラー低減になります。
コード的には下記の修正
CString a=L"aa";
wchar_t bb[10];
swprintf( bb ,L"%s" , a ); ← 誤り
swprintf( bb ,L"%s" , (LPCWSTR)a ); ← 正しい
(LPCWSTR)を使っていない場合はしばらくしてmalloc系のエラーが発生します。
LPCWSTRでキャストする必要があるなんて知らなかったよ。。。
お世話になっております。
返信削除Ver. 2.8cを使っており,今般初めてインデックスの更新をしました。そうしたところ,「メモリの確保に失敗しました」というメッセージが出た後にbutterfly_searchがハングアップしてしまい,強制終了せざるを得ない状態になりました。メモリが足りないということでしたので,全てのアプリケーションを閉じて数回更新を試みましたが,結果は変わりませんでした。
このため,「インデックス生成時にクラッシュする問題を修正」したVer. 2.8eにバージョンアップしたのですが,結果は全く同じでした。
結局,2.8eでインデックスを新しく作り直しまし,最新のインデックスを得るという所期の目的は達しました。
その後で,①元になるファイルには一切変更を加えない状態で,そして②幾つかファイルを追加して,2回のインデックス更新を試みました。その結果,①②ともに正常に終了し,エラーが生じないことを確認しました。
「メモリの確保に失敗しました」が出る場合は,ソフトウェアを最新バージョンに更新して,新たにインデックスを作り直せば良いようです。
ご報告まで。
<使用環境>
Windows 10 Pro 64bit 21H1/19043.1165
Core i5-8400 2.8GHz
8GB RAM
manomiさん
返信削除butterfly_searchのご利用ありがとうございます。
Ver. 2.8d以前のバージョンはメモリ管理が甘いというか並列処理に対しての
ロックが不足していましたので、環境によってはエラーが良く出ると思います。
お手数ですが、頂いたコメントの通り、新たにインデックスを作り直すように
お願いします。