abort
From cppreference.com
| ヘッダー <stdlib.h> で定義 |
||
void abort(void); |
(C11まで) | |
| _Noreturn void abort(void); |
(C11 以降) (C23まで) |
|
| [[noreturn]] void abort(void); |
(C23以降) | |
シグナルハンドラに渡された SIGABRT がキャッチされており、ハンドラが返らない場合を除き、異常なプログラム終了を引き起こします。
atexit() に渡された関数は呼び出されません。ファイルなどの開かれたリソースが閉じられるかどうかは、実装定義です。未成功の実行を示すステータスがホスト環境に返されますが、これも実装定義です。
目次 |
[編集] パラメータ
(なし)
[編集] 戻り値
(なし)
[編集] 注記
POSIX は、abort() 関数が SIGABRT シグナルのブロッキングまたは無視をオーバーライドすることを指定しています。
一部のコンパイラ組み込み関数(例: __builtin_trap (gcc, clang, icc) や __fastfail/__debugbreak (msvc))は、プログラムを可能な限り速く終了させるために使用できます。
[編集] 例
このコードを実行
出力
error opening file data.txt in function main()
[編集] 参考文献
- C17標準 (ISO/IEC 9899:2018)
- 7.22.4.1 The abort function (p: 255)
- C11標準 (ISO/IEC 9899:2011)
- 7.22.4.1 The abort function (p: 350)
- C99標準 (ISO/IEC 9899:1999)
- 7.20.4.1 The abort function (p: 315)
- C89/C90標準 (ISO/IEC 9899:1990)
- 4.10.4.1 The abort function
[編集] 関連項目
| クリーンアップを伴う通常のプログラム終了を引き起こす (関数) | |
| exit() の呼び出し時に呼ばれる関数を登録する (関数) | |
| (C11) |
完全なクリーンアップを行わずに通常のプログラム終了を引き起こす (関数) |
| C++ ドキュメント for abort
| |