今回fortranとC言語で書かれたWindows用プログラムをLinux用に移植することになりました。GNUのコンパイラを使用し無事コンパイルできたので実行したのですが"Segmentation fault"となりうまく実行できませんでした。そこで試しにIntelのコンパイラを使用しコンパイルしてみたところGNUのときとは違い"Segmentation fault"とは出ず、プログラム内のエラーチェックに引っかかり止ってしまいました。同じソースコードにもかかわらず止まる箇所が異なります。
今まで考えたことがなかったのですがGNUとIntelのコンパイラの違いはなんなのでしょうか?また、この二つ以外にいいコンパイラはあるのでしょうか?
No.2ベストアンサー
- 回答日時:
#1 の onosuke さんが言われているとおりで、プログラムのバグが原因であることがほとんどでしょう。
移植によって、眠っていたバグが表面化することは珍しくないです。原因を突き止めるしかありません。
例えば、
char *p;
*p = 1;
としたときに、p が初期化されていないので、p の値は不定になりますよね?そうすると、*p = 1 がどこに書き込むかも不定になります。
不定といっても、乱数のようなものではなく、直前のコードで、ある程度固定した値になる可能性が高いです。コンパイラが違えば、その値が Segmentation fault になるかならないかの違いが出ることもあります。
Segmentation fault にならないと、気づかないうちに、別の変数を書き換えていたりすることもあるので、そちらの方が怖いです。
教えていただいたのに、お礼が遅くなり大変申し訳ありません。
私でもわかるように優しく丁寧に書いて下さってありがとうございます。一生懸命バグを探したいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 変数のスコープ 5 2023/05/27 17:50
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- UNIX・Linux manページあったら嬉しい? 私はArch GNU/Linuxユーザです。GUIも使っているのですが 1 2023/07/31 13:13
- UNIX・Linux raspberrypi に bluealsaを入れようにも見つからない 1 2023/02/04 10:55
- UNIX・Linux UNIX manページとか見る頻度高いの? 特にCLIばかり使っている人のなかで というかCLIとか 3 2023/05/22 17:06
- Windows 10 Windows10のアップデートがうまく行きません。先日も同じ質問をさせて頂いたのですが、バージョン 3 2022/06/23 14:16
- ノートパソコン AMDディスプレイ設定 暖色見にくい 2 2023/07/18 17:24
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- Ameba(アメーバブログ) アメブロは、HTMLのタグの入力を許さないブログ・サイトですか? 1 2023/06/18 18:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0除算して、落ちるプログラムと...
-
コンパイルできない
-
C++ で、「)」が必要 というエ...
-
変数(関数)名の頭に_
-
コンパイラについて
-
conio.h? curses.h?
-
graph.hがincludeできない
-
sprintfを用いたフォーマット文...
-
何も書いて無いのに警告が出る...
-
Delphiの逆コンパイル
-
volatile修飾について
-
C++でアボート(Abort)で処理が...
-
__extension__
-
プリコンパイラとは?
-
ABAQUS ユーザーサブルーチン...
-
関数の戻り値による変数の初期化
-
C言語
-
fortranでのNaNについて
-
コンパイラフラグ(compiler fla...
-
QBasicをWindowsXPで使いたい!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0除算して、落ちるプログラムと...
-
C++でアボート(Abort)で処理が...
-
変数(関数)名の頭に_
-
C++ で、「)」が必要 というエ...
-
io.hをincludeするとそのような...
-
C言語のワーニングメッセージの...
-
Eclipseの環境設定について
-
ABAQUS ユーザーサブルーチン...
-
Visual C++とVisual C++.NETの違い
-
コンパイルできない
-
volatile修飾について
-
コンパイラについて
-
コンパイラフラグ(compiler fla...
-
Delphiの逆コンパイル
-
fortranでのNaNについて
-
cobolの文法チェックソフト
-
不要なインクルードファイルの検出
-
__extension__
-
IPアドレス表示プログラム
-
isnanの取り扱いについて
おすすめ情報