raise (C++)
Nach oben zu signal.h - Index
Header-Datei
signal.h
Kategorie
Prozesssteuerungsroutinen
Prototyp
int raise(int sig);
Beschreibung
Sendet ein Software-Signal an das ausführende Programm.
raise sendet ein Signal vom Typ sig an das Programm. Hat das Programm eine Signalbehandlungsroutine für den durch sig angegebenen Signaltyp installiert, wird diese Routine ausgeführt. Wurde keine solche Routine installiert, wird die für diesen Signaltyp definierte Aktion ausgeführt.
Folgende Signaltypen sind aktuell in signal.h definiert:
SIGABRT |
Programmabbruch |
SIGFPE |
Ungültige Gleitkommaoperation |
SIGILL |
Ungültige Anweisung |
SIGINT |
Ctrl-C-Interrupt |
SIGSEGV |
Ungültiger Speicherzugriff |
SIGTERM |
Aufforderung zur Programmbeendigung |
SIGUSR1 |
Benutzerdefiniertes Signal |
SIGUSR2 |
Benutzerdefiniertes Signal |
SIGUSR3 |
Benutzerdefiniertes Signal |
SIGBREAK |
Ctrl-Break-Interrupt. |
Anmerkung: SIGABRT wird von C++Builder während des normalen Betriebs nicht generiert. Es kann jedoch von abort, raise oder nicht behandelten Exceptions erzeugt werden.
Rückgabewert
Bei erfolgreicher Ausführung gibt raise 0 zurück.
Bei einem Fehler wird ein Wert ungleich Null zurückgegeben.
Beispiel
#include <signal.h> int main(void) { int a, b; a = 10; b = 0; if (b == 0) /* Einer Division durch Null vorbeugen */ raise(SIGFPE); a = a / b; return 0; }
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ |
---|---|---|---|
+ |
+ |
+ |
+ |