La funzione raise () in C ++ invia il segnale al programma.
raise () Prototipo
int raise (int sig);
La funzione raise chiama il gestore del segnale. Se nessuna funzione definita dall'utente è impostata per la gestione del segnale, l'implementazione viene definita se il segnale verrà ignorato o verrà invocato il gestore predefinito.
È definito nel file di intestazione "> file di intestazione.
parametri raise ()
sig: il segnale da inviare per la gestione. Può assumere uno dei seguenti valori:
- SIGABRT
- SIGFPE
- SIGILL
- SIGINT
- SIGSEGV
- SIGTERM
raise () Restituisce il valore
In caso di successo, restituisce zero e in caso di errore viene restituito un valore diverso da zero.
Esempio: come funziona la funzione 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; )
Quando esegui il programma, l'output sarà:
Prima che il gestore del segnale venga chiamato Signal = 0 Dopo che il gestore del segnale viene chiamato Signal = 6