A C ++ - ban az emelés () függvény jelet küld a programnak.
emel () Prototípus
int emelés (int sig);
Az emelés funkció felhívja a jelkezelőt. Ha nincs beállítva a felhasználó által definiált funkció a jelfeldolgozáshoz, akkor a megvalósítás határozza meg, hogy a jelet figyelmen kívül hagyják, vagy az alapértelmezett kezelőt hívják meg.
A "header file"> header fájlban van meghatározva.
emelés () Paraméterek
sig: A kezelésre küldendő jel. A következő értékek egyikét veheti fel:
- SIGABRT
- SIGFPE
- SIGILL
- JEL
- SIGSEGV
- SIGTERM
emelés () Visszatérési érték
Siker esetén nullát ad vissza, kudarc esetén pedig nem nullát ad vissza.
Példa: Hogyan működik a raise () függvény
#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; )
A program futtatásakor a kimenet a következő lesz:
Mielőtt a jelkezelőt Signal = 0-nak hívják, miután a jelkezelőt Signal = 6-nak hívják