C語(yǔ)言 標(biāo)準(zhǔn)庫(kù) – <signal.h>

2023-01-11 16:30 更新

簡(jiǎn)介

signal.h 頭文件定義了一個(gè)變量類型 sig_atomic_t、兩個(gè)函數(shù)調(diào)用和一些宏來(lái)處理程序執(zhí)行期間報(bào)告的不同信號(hào)。

庫(kù)變量

下面是頭文件 signal.h 中定義的變量類型:

序號(hào)變量 & 描述
1sig_atomic_t
這是 int 類型,在信號(hào)處理程序中作為變量使用。它是一個(gè)對(duì)象的整數(shù)類型,該對(duì)象可以作為一個(gè)原子實(shí)體訪問(wèn),即使存在異步信號(hào)時(shí),該對(duì)象可以作為一個(gè)原子實(shí)體訪問(wèn)。

庫(kù)宏

下面是頭文件 signal.h 中定義的宏,這些宏將在下列兩個(gè)函數(shù)中使用。SIG_ 宏與 signal 函數(shù)一起使用來(lái)定義信號(hào)的功能。

序號(hào)宏 & 描述
1 SIG_DFL
默認(rèn)的信號(hào)處理程序。
2 SIG_ERR
表示一個(gè)信號(hào)錯(cuò)誤。
3 SIG_IGN
忽視信號(hào)。

SIG 宏用于表示以下各種條件的信號(hào)碼:

序號(hào)宏 & 描述
1 SIGABRT
程序異常終止。
2 SIGFPE
算術(shù)運(yùn)算出錯(cuò),如除數(shù)為 0 或溢出。
3 SIGILL
非法函數(shù)映象,如非法指令。
4 SIGINT
中斷信號(hào),如 ctrl-C。
5 SIGSEGV
非法訪問(wèn)存儲(chǔ)器,如訪問(wèn)不存在的內(nèi)存單元。
6 SIGTERM
發(fā)送給本程序的終止請(qǐng)求信號(hào)。

庫(kù)函數(shù)

下面是頭文件 signal.h 中定義的函數(shù):

序號(hào)函數(shù) & 描述
1void (*signal(int sig, void (*func)(int)))(int)
該函數(shù)設(shè)置一個(gè)函數(shù)來(lái)處理信號(hào),即信號(hào)處理程序。
2int raise(int sig)
該函數(shù)會(huì)促使生成信號(hào) sig。sig 參數(shù)與 SIG 宏兼容。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)