[Julius Web page]
[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

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


坂野@名古屋大です.

>> "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      
==================================================

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: