nmz2.0.18RC3.002-win32.zip 公開2008年03月11日 06時09分17秒

nmz2.0.18RC3.002-win32.zip を公開しました。

  • MD5sumファイル

http://www.akaneiro.jp/public/nmz2.0.18RC3.002-win32.zip.md5

(md5: 08bc25777509e3eb7c30da51b27eca6a)

  • sha1sumファイル

http://www.akaneiro.jp/public/nmz2.0.18RC3.002-win32.zip.sha1

(sha1: 8e11cdfde2fbbb9972aa3cd971056131beff5fa9)

<nmz2.0.18RC3.001-win32.zip からの変更点>

  • x86 版は Visual C++ 2005 でコンパイル。これに伴い、namazu.exe のコマンドラインでインデックスを指定する場合にワイルドカードの使用ができなくなりました。
  • 従来の Visual C++ 6.0 でコンパイルした x86(VC6)版も含まれますが、今後サポートされなくなります。
  • 実験的に IA64 版の namazu.exe, namazu.cgi.exe が含まれています。
  • 実験的に x64 版の namazu.exe, namazu.cgi.exe が含まれています。

x86(VC6)版とx86版の namazu.exe について2008年03月11日 17時30分30秒

結局、Visual C++ 2005 を使って namazu.exe をコンパイルする方針に変更しました。

これにより従来の VC++6.0 でコンパイル + setargv.obj をリンクした namazu.exe とは動作が異なります。

以後、従来のものを x86(VC6)版、新しいものを x86版と区別して呼びますが、x86(VC6)版では、インデックスの指定にワイルドカードが使用できました。これに対し x86版ではインデックスの指定にワイルドカードが使用できなくなりました。

これは x86版では msvcr[89]x 問題のため検索式にワイルドカード文字が含まれた場合、ダブルクォーテーションでワイルドカードの展開を抑止できないためです。setargv.obj のリンクを外すことでワイルドカードの展開自体を行わないことで、検索式を保護することにしました。結果としてインデックスの指定にワイルドカードは使えなくなったということです。

従来の namazu.exe とは互換性がなくなりますが、ご了承ください。 なお、namazu.cgi.exe の方はというと CGI という性質上、引数がありませんので、何の影響もなく従来と互換です。

[実験] 64bit Windows への対応について2008年03月11日 17時57分50秒

実験的に 64bit Windows への対応を行っています。

IA64 版および x64版の namazu.exe と namazu.cgi.exe を配布アーカイブに含めています。

ただ残念ながら手元には IA64 も x64 のPCがなく、動作は未確認です。 現時点では Visual C++ 2005 でコンパイルしただけのものということになります。

特に 64bit Windows 向けに何か機能を追加したということではありません。

検索速度は 64bit 版の方が若干速くなるのかなという推測はできますが、実際のところは動かしていないので何とも言えません。 x64 環境の場合は、x86 版と x64 版を差し替えて使うことで検索速度の比較が可能でしょう。

なお、インデクサの mknmz や Namazu ユーティリティコマンドは Perl スクリプトであり、ActivePerl や Perl モジュールに依存します。 現在のところ配布している Perl モジュールは x86 版のみとなっていますので、芋蔓式に mknmz や Namazu ユーティリティコマンドは x86 で使うことになるかと思います。 (もちろんご自身で 64bit 版の Perl モジュールをご用意いただければ 64bit で使えるとは思います。)