Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ฟังก์ชันยก () ใน C/C++


ฟังก์ชัน Raise() ใช้เพื่อส่งสัญญาณไปยังโปรแกรม ฟังก์ชันสัญญาณที่กำหนดไว้ล่วงหน้า () ถูกเรียกใช้ มีการใช้งานเพื่อตรวจสอบว่าจะไม่สนใจสัญญาณหรือเรียกใช้ตัวจัดการสัญญาณ มีการประกาศในไฟล์ส่วนหัว "signal.h" คืนค่าศูนย์ หากสำเร็จ มิฉะนั้น ค่าที่ไม่ใช่ศูนย์

นี่คือไวยากรณ์ของตัวยก () ในภาษาซี

int raise(int signal)

ที่นี่

สัญญาณ − หมายเลขสัญญาณที่จะเรียกใช้

นี่คือตัวอย่างการยก () ในภาษาซี

ตัวอย่าง

#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 received : 4

ในโปรแกรมข้างต้น ตัวจัดการฟังก์ชันถูกกำหนดก่อนฟังก์ชัน main() และในฟังก์ชันหลัก สัญญาณ () จะถูกเรียกใช้และ SIGILL ( Signal Illegal Instruction ) จะถูกส่งและรับ

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