[Julius Web page]
[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[julius-u:00058] Re: Julius for Windows
- From: Hideki BANNO <banno@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 18 Jul 2000 11:06:27 +0900
坂野@名古屋大です.
>> "Inoue" == Takeshi Inoue <takeshi.inoue@xxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxxxxxxxx
==================================================
Follow-Ups:
References: