アプリ版:「スタンプのみでお礼する」機能のリリースについて

不動少数(float)を使った、c言語の演算プログラムを作っています。

Aマシン(CentOS5, gcc3.4)でコンパイルした、"test_a.so"と"test_a.a"について、
Aマシンで実行した結果、両者の結果は一致します。

Bマシン(Fedora5, gcc3.0)でコンパイルした、"test_b.so"と"test_b.a"について、
Bマシンで実行した結果、両者の結果は一致します。
Aマシンで実行した結果、両者の結果が異なります。

結果の比較をすると、以下のようになります。
"test_a.so"=="test_a.a"!="test_b.so"!="test_b.a"

(1)コンパイル環境と実行環境が違うと、浮動少数の演算に違いがでることがありますか?
(2)コンパイル環境と実行環境が違うと、so と aに違いがでることがありますか?

上記2点について、ご存知の方いらっしゃいましたら教えてください。
お願い致します。

A 回答 (3件)

ちなみに、


"test_a.so"と"test_a.a"をBマシンで実行した結果はどうなりますか?

理屈だけで言えば、
・コンパイルラによるの構文解析及び変換処理の違い
・実行ファイルが使用する浮動小数点ライブラリの違い
で結果が変わる可能性はあります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>"test_a.so"と"test_a.a"をBマシンで実行した結果はどうなりますか?
結果が一致しました。
一致することもあるみたいです。

環境により変わる可能性がある。ということがわかれば、
とりあえず現時点で問題は無いと判断できます。

ありがとうございました。

お礼日時:2008/10/01 13:04

(1)も(2)も、可能性としては「あります」としかいえません。


テストに用いたソースコード、コンパイルオプション、その他必要な情報を補足してください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

すいません、具体的な情報は載せることができません。

可能性としてあることがわかれば、現時点でとりあえず問題解決できそうです。
(結果の違いによる誤差は問題ない範囲のため。)

ありがとうございました。

お礼日時:2008/10/01 13:06

どんな計算をしたときに結果がどう異なるのか、具体的に示すことは可能ですか?



なお、「浮動小数点数」が正しい呼び名です。「少」ではなくて「小」です。

この回答への補足

ご回答&補足ありがとうございます。

非常に膨大な計算をしているため、具体的に示すことはできません。
申し訳ございません。

補足日時:2008/10/01 13:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!