小野@豊橋技科大です。
小野> 1. gccを使った時、real型からint型へのキャストがうまくいかない。
小野> 2. ccを使ったとき、Matrixの入力画面でフリーズしてしまうことがある。
小野> # コンパイラやOSライブラリの問題かも知れないので、暇になってテ
小野> # ストできるまで、報告は待とうと思ってました。
古賀> 時間が出来てからで結構ですから,問題が発生する具体的なプログラム例を
古賀> 教えて頂けると,対処できると思います。よろしくお願いします。
修了するまで、暇になれそうにないので、簡単に報告させてもらいます。
環境は、
SS20+Solaris2.3+SPARCompiler3.0+matc(UNIX)4.215 または
SS20+Solaris2.3+gcc2.3.3+matc(UNIX)4.215
です。
まず、1. gccを使った時……です。
次のプログラムを、gccを使ってコンパイルしたとき、結果がおかしい。
ccを使ったときは、正しい値が出る。
Func void main()
{
Integer i;
Real r;
for( r=0.0 ; r<=1.0 ; r=r+0.1 ){
i = Integer(r);
print i ;
}
}
たぶんコンパイラが悪い(コンパイラが古い?)と思います。
皆さんの環境ではどうでしょうか?
# ちなみに、matc(UNIX)4.202でも起こりました。
次に、2. cc使ったとき……です。
次のプログラムを、ccを使ってコンパイルすると、行列の入力画面で
C-c以外受け付けなくなる。gccを使った時は正常に入力できる。
Real Te;
Func void main()
{
Matrix x0b;
Te = 1.5;
read Te;
x0b = [ 5.0, 0.0, -3.4, 6.83 ]';
read x0b;
}
matc(UNIX)4.202では起こりませんでしたので、コンパイラが悪い
ということはないような気がします。
----------------------------------------------------------------
豊橋技術科学大学 情報工学専攻 2年次 システム応用研究室
小野 一也 E-mail ono@system.tutics.tut.ac.jp