[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:94045] コンパイラにより解析結果が異なる


亀岡と申します。

同じプログラムを同じマシン上でgcc-2.96とgcc-3.0.4とgcc-3.1を用いてコン
パイルしたところそれぞれ実行結果が異なるという事態に遭遇しました。

このプログラムはCとFortranのソースから成っており、ファイルから実験デー
タを読み込んである条件のもとにイベントを選別した後、最小自乗法による
fittingを行なって、chi-squareが100以下の事象を解析結果としてファイルに
書き出すというものなのですが、gcc-3.0.4の場合、最後に残る事象数が0にな
り(すべて失敗する)、gcc-3.1の場合はgcc-2.96に比べて数パーセント減少
しました。

gcc-2.96はRedHat 7.2に最初から入っていたもので、gcc-3.0.4はRPMパッケー
ジをインストールしました。gcc-3.1はtar ballをgcc-2.96でコンパイルして
buildしました。

システムの情報としては、

[Mon Jul 15]$ uname -r
2.4.7-10smp

[Mon Jul 15]$ rpm -q binutils
binutils-2.11.90.0.8-12

[Mon Jul 15]$ rpm -q glibc
glibc-2.2.4-19.3

というところでしょうか。

なんとも漠然とした質問で申し訳ないのですが、何がこのような違いを生じさ
せるのか、あるいはソースの方に問題があるとしたらどういう点をチェックす
ればよいか、ご存知の方がいましたらぜひとも教えていただきたく思います。

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

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