先頭へ戻る

SIGILL | Programming Place Plus C言語編 標準ライブラリのリファレンス

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(名前順)

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(ヘッダ別)

先頭へ戻る

SIGILL

概要

不正なコードが検出されたことによるシグナルを表すシグナル番号。

ヘッダ

signal.h

形式

#define SIGILL 4

置換結果

ほかのシグナルのシグナル番号とは異なる値になる、int型の定数式。必ず正の値である。

詳細

例えば、不正なプログラムコードを実行しようとしたような、誤った算術演算を行ったことを表すシグナル番号。メモリに展開されているコード領域を誤って上書きしてしまった結果、不正なコードになってしまった場合などが考えられる。ただし、正確な意味の定義は、処理系に任されている。
このシグナルが発生したときのデフォルトの動作は、処理系定義である。
Windows では、このシグナルは発生しないが、raise関数で発生させることは可能である。

注意

SIGILL の発生によって呼び出されたシグナルハンドラから戻る行為は未定義の動作である。

使用例

#include <stdlib.h>
#include <signal.h>

void signal_handler(int signum)
{
    abort();
}

int main(void)
{
    signal( SIGILL, signal_handler );
    raise( SIGILL );

    return 0;
}

実行結果

関連

シグナル番号は、signal関数raise関数で使用する。

解説章


参考リンク


------------------------------------------------------------------------

更新履歴

'2018/4/24 新規作成。


------------------------------------------------------------------------

標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー