![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?e8efa67)
今回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ランキング
-
conio.h? curses.h?
-
Visual C++とVisual C++.NETの違い
-
コンパイラフラグ(compiler fla...
-
コンパイラについて
-
0除算して、落ちるプログラムと...
-
65536は2の何乗なのでしょうか?
-
PICマイコンのコピー(クローン...
-
変化させるセルが変化しない
-
Excelで4096点以上のFFTの方法
-
Bluestacks内でダウンロードし...
-
人時生産性をExcelで計算したい
-
パソコン
-
自動クエリとはどういうもので...
-
万年暦を導き出すプログラミング
-
未使用の変数を一括検索する方法
-
「ルーチン」という言葉の意味
-
乗換案内の作り方が知りたいです。
-
スクリーンセーバーの作り方
-
VBからシャットダウンさせる方法
-
バッチファイルでウインドウを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0除算して、落ちるプログラムと...
-
CPUが16bitでも32bitOSでコンパ...
-
C++ で、「)」が必要 というエ...
-
C++でアボート(Abort)で処理が...
-
コンパイルできない
-
io.hをincludeするとそのような...
-
変数(関数)名の頭に_
-
コンパイラについて
-
fortranでのNaNについて
-
ABAQUS ユーザーサブルーチン...
-
volatile修飾について
-
Visual C++とVisual C++.NETの違い
-
コンパイラの制限 : ヒープの領...
-
Eclipseの環境設定について
-
graph.hがincludeできない
-
Delphiの逆コンパイル
-
プリコンパイラとは?
-
sprintfを用いたフォーマット文...
-
PICマイコンによる乱数の表示に...
-
C++の Unhandled Exceptionにつ...
おすすめ情報