C ++ 'daki yükseltme () işlevi, programa sinyal gönderir.
yükseltmek () Prototip
int yükseltme (int sig);
Yükseltme işlevi sinyal işleyiciyi çağırır. Sinyal işleme için kullanıcı tanımlı bir işlev ayarlanmadıysa, sinyalin göz ardı edilip edilmeyeceği veya varsayılan eylemcinin çağrılıp çağrılmayacağı uygulama tanımlanır.
Başlık dosyasında "> başlık dosyasında tanımlanır.
yükseltmek () Parametreler
sig: İşleme için gönderilecek sinyal. Aşağıdaki değerlerden birini alabilir:
- SIGABRT
- SIGFPE
- SIGILL
- SIGINT
- SIGSEGV
- SİGTERM
yükseltmek () Dönüş değeri
Başarı durumunda sıfır döndürür ve başarısızlık durumunda sıfırdan farklı bir değer döndürülür.
Örnek: Yükseltme () işlevi nasıl çalışır?
#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; )
Programı çalıştırdığınızda, çıktı:
Sinyal işleyici çağrılmadan önce Sinyal = 0 Sinyal işleyici çağrıldıktan sonra Sinyal = 6