2000年7月18日

[julius-u:00058] Re: Julius for Windows

坂野@名古屋大です.

>> "Inoue" == Takeshi Inoue <takeshi.inoue@xxxxx> writes:
Inoue> 実は私の方でもjulius3.1のWindows対応を試しに行ってまして、configure
Inoue> 未対応、gzipファイル未対応、入力はファイルのみ、表示はEUCのままで
Inoue> 文字化けという状況でとりあえずの動作確認ができた段階でした。
Inoue> 坂野さんの方がはるかに完成度が高そうなので、使わせていただきます。

きっと誰かが Windows への移植はしているだろうとは思ったのですが,
公開してしまいました.使って頂けるとありがたいです.


Inoue> ちょっと質問・コメントさせていただきますが、
Inoue> ・VC++6.0でコンパイルする場合、ソースをSJISに変換する必要はなかったの
Inoue> ですか? EUCではだめだと思っていたのですが。
Inoue> ・こちらではsearch_bestfirst_v2.cで
Inoue> "error C2183:構文エラー:翻訳単位が空です。"
Inoue> というVCのコンパイルエラーが出て、意味不明で悩まされました。
Inoue> そちらではどうでしたか?

そう言えばSJISへの変換はしてないですね.以前,他のプロジェクトを作成したとき
はEUCではだめだった記憶がありましたが,今回はうまくいったみたいです.
そう言えばREADMEにも書き忘れてましたが,文章を画面に出力するときは
SJIS に変換して出力しています.

Inoue> ・strcasecmp.cのバグ?には当方も気づきました。デバッガで見たところ
Inoue> 演算子の優先順位がらみです。しかし、C言語の仕様的には元のソースで
Inoue> 優先順位の問題はないように見えるのですが、理解が不足しているのか...

その部分のソースを示しますと,

int
strncasecmp(char *s1, char *s2, size_t n)
{
int c1, c2;
do {
c1 = (*s1 >= 'a' && *s1 <= 'z') ? *s1 - 040 : *s1;
c2 = (*s2 >= 'a' && *s2 <= 'z') ? *s2 - 040 : *s2;
if (c1 != c2) break;
} while (*(s1++) && *(s2++) && (--n)); /* 元々 (n--) だった*/
return(c1 - c2);
}

--n だった場合,n を減らしてから条件を判定しますが,
n-- だった場合,条件を判定してから n を減らすので,
ループが1回多くなると思います.


ところで,移植に関する噂はいくつか聞くんですが,
どこまで本当なのか教えて下さい>李さん(お忙しいとは思いますが…)

噂その1,Microsoft の SAPI への対応が進んでいる
(これは以前,河原先生にちょっとだけ聞きました)
噂その2,クライアント・サーバーでの実装も進んでいる
(以前,うちの研究室でも西村君がperlを使ってやっていました)
噂その3,DLL化もかなり進んでいる

==================================================
坂野秀樹@名古屋大学大学院工学研究科板倉研究室
Email:banno@xxxxx
==================================================


投稿者 xml-rpc : 2000年7月18日 11:06
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/3696
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。