C ++: n korotustoiminto lähettää signaalin ohjelmalle.
nosta () prototyyppi
int nosta (int sig);
Nostotoiminto soittaa signaalinkäsittelijälle. Jos mitään käyttäjän määrittelemää toimintoa ei ole asetettu signaalinkäsittelyyn, toteutus määrittelee, ohitetaanko signaali vai kutsutaanko oletuskäsittelijää.
Se määritetään otsikkotiedostossa "> header file.
nosta () Parametrit
sig: Käsittelyä varten lähetettävä signaali. Se voi ottaa jonkin seuraavista arvoista:
- SIGABRT
- SIGFPE
- SIGILL
- SIGINT
- SIGSEGV
- SIGTERM
nosta () Palautusarvo
Menestyksessä se palauttaa nollan ja epäonnistumisen yhteydessä palautetaan nolla.
Esimerkki: Kuinka nosta () -toiminto toimii
#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; )
Kun suoritat ohjelmaa, tulos on:
Ennen kuin signaalinkäsittelijää kutsutaan signaaliksi = 0 Sen jälkeen, kun signaalinkäsittelijää kutsutaan signaaliksi = 6