0

私はどこで間違っているのか知りたいので、fcloseでAbortedのエラーが発生します。コア複製:

Stack trace:
Frame     Function  Args
0022A698  7C802542  (00000758, 0000EA60, 000000A4, 0022A794)
0022A7B8  610DC559  (000007DD, 0000000A, 00000032, 0000000B)
0022A8A8  610D9913  (00000000, 7C801879, 0022FF44, 7C839AC0)
0022A908  610D9DEE  (00000144, 00000000, 0022AC30, 00000006)
0022A9B8  610D9F40  (00000288, 00000006, 00000001, 200586E0)
0022A9D8  610D9F6C  (00000006, 00000006, 0022AA38, 610FCCE7)
0022AA08  610DA233  (7C809C1B, 00000744, 0022AA68, 610FCE07)
20038678  61110408  (61201C98, 00000000, 20010410, 00000001)
End of stack trace

プロジェクトにCygwin+GCC+Autotoolsを使用しています。それが何を意味するのか理解できませんでした。この時点以降、プログラムを終了する必要があるため、何もありませんが、Abortedを表示するのは邪魔です。

4

1 に答える 1

4

コア ダンプを取得する標準的な方法の 1 つfclose()は、ファイルを開けなかったため、null のファイル ポインターを渡すことです。

 FILE *fp = fopen("/long/hairy/path/with/a/missing/file/at/the/end", "r");

 fclose(fp);

fopen()およびその親戚からの戻り値を常にチェックします。

if (fp == NULL)
    ...report problem
else
{
    ...use fp...
    fclose(fp);
}
于 2013-03-07T06:49:25.057 に答える