古賀@東工大です。
たいへんお待たせしました。
小野> 環境は、
小野> SS20+Solaris2.3+SPARCompiler3.0+matc(UNIX)4.215 または
小野> SS20+Solaris2.3+gcc2.3.3+matc(UNIX)4.215
小野>
小野> 次のプログラムを、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 ;
小野> }
小野> }
環境: SPARCstation Classic+Solaris2.3+SPARCCompiler2.0.1+matc(UNIX)4.227
SPARCstation Classic+Solaris2.3+gcc2.6.3+matc(UNIX)4.227
で試してみましたが,cc と gcc は同じ結果を出力しました。
小野> たぶんコンパイラが悪い(コンパイラが古い?)と思います。
小野> 皆さんの環境ではどうでしょうか?
小野> # ちなみに、matc(UNIX)4.202でも起こりました。
ということで,最新バージョンで試していただけないでしょうか?
小野> 次のプログラムを、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では起こりませんでしたので、コンパイラが悪い
小野> ということはないような気がします。
gcc と cc で試してみましたが,問題を確認できませんでした。
この問題についても,最新バージョンで試していただけないでしょうか?
--
古賀 雅伸
koga@mei.titech.ac.jp