English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C / C ++의 raise() 함수

이 기능raise()신호를 프로그램에 전송하는 데 사용되는 предопределенная функцияsignal()호출됩니다. 이는 신호를 무시할지 여부를 확인하거나 신호 처리 프로그램을 호출합니다. 이는 "signal.h" 헤더 파일에서 선언됩니다. 이는 0을 반환하며, 그렇지 않으면 비이상 값을 반환합니다.

이것은raise()C 언어의 문법

int raise(int signal)

여기서는

신호-호출할 신호 번호입니다.

이것은raise()C 언어의 예제

예제

#include <signal.h>
#include <stdio.h>
void handler(int sig) {
   printf("Signal received: %d\n", sig);
}
int main() {
   signal(SIGILL, handler);
   printf("Sending signal: %d\n", SIGILL);
   raise(SIGILL);
   return 0;
}

출력 결과

Sending signal: 4
Signal 수신됨: 4

위 프로그램에서는 함수 전에 함수 처리 프로그램을 정의했습니다.main()주 함수에서 함수 처리 프로그램을 정의했습니다.signal()并发送 및 수신한 SIGILL(非法指令) signal

signal(SIGILL, handler);
printf("Sending signal: %d\n", SIGILL);
raise(SIGILL);