C++ 中的raise() 函數向程序發送信號。
raise() 原型
int raise( int sig );
raise 函數調用信號處理程序。如果沒有為信號處理設置用戶定義的函數,則由實現定義是忽略信號還是調用默認處理程序。
它在<csignal> 頭文件中定義。
參數:
sig
:要發送處理的信號。它可以采用以下值之一:
- SIGABRT
- SIGFPE
- SIGILL
- SIGINT
- SIGSEGV
- SIGTERM
返回:
成功時返回零,失敗時返回非零。
示例:raise() 函數的工作原理
#include <iostream>
#include <csignal>
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;
}
運行程序時,輸出將是:
Before signal handler is called Signal = 0 After signal handler is called Signal = 6
相關用法
- C++ raise()用法及代碼示例
- C++ ratio_less_equal()用法及代碼示例
- C++ ratio_less()用法及代碼示例
- C++ ratio_greater()用法及代碼示例
- C++ ratio_not_equal()用法及代碼示例
- C++ ratio_greater_equal()用法及代碼示例
- C++ ratio_equal()用法及代碼示例
- C++ rint(), rintf(), rintl()用法及代碼示例
- C++ regex_iterator()用法及代碼示例
- C++ rotate用法及代碼示例
- C++ remainder()用法及代碼示例
- C++ remquo()用法及代碼示例
- C++ rename()用法及代碼示例
- C++ rint()用法及代碼示例
- C++ rewind()用法及代碼示例
- C++ round()用法及代碼示例
- C++ remove()用法及代碼示例
- C++ realloc()用法及代碼示例
- C++ rename用法及代碼示例
- C++ real()用法及代碼示例
注:本文由純淨天空篩選整理自 C++ raise()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。