Funkce raise () v C ++ odesílá signál do programu.
zvýšit () prototyp
int raise (int sig);
Funkce zvednutí volá obsluhu signálu. Pokud není pro zpracování signálu nastavena žádná uživatelem definovaná funkce, je definována implementace, zda bude signál ignorován nebo bude vyvolána výchozí obslužná rutina.
Je definován v hlavičkovém souboru.
zvýšit () parametry
sig: Signál, který má být odeslán ke zpracování. Může nabývat jedné z následujících hodnot:
- SIGABRT
- SIGFPE
- SIGILL
- SIGINT
- SIGSEGV
- SIGTERM
zvýšit () Vrátit hodnotu
Při úspěchu vrátí nulu a při selhání nenulovou.
Příklad: Jak funguje funkce raise ()
#include #include using namespace std; sig_atomic_t sig_value = 0; void handler(int sig) ( sig_value = sig; ) int main() ( signal(SIGABRT, handler); cout << "Before signal handler is called" << endl; cout << "Signal = " << sig_value << endl; raise(SIGABRT); cout << "After signal handler is called" << endl; cout << "Signal = " << sig_value << endl; return 0; )
Když spustíte program, výstup bude:
Před tím, než se obsluha signálu nazývá Signal = 0 Po obsluze signálu se nazývá Signal = 6