raise.cpp

来自「验证进程同步的信号量方法的C程序」· C++ 代码 · 共 37 行

CPP
37
字号
/* 	Example for raise
		Also demonstrates signal 
	*/ 

#include <stdio.h>
#include <windows.h>
#include <iostream.h>
#include <signal.h>
#include <stdlib.h>

	void div_zero (int val)
	{ 
	   cout << "Divide by zero detected!" << endl;
	   exit (EXIT_FAILURE); 
	} 
	
	void main ()
	{ 
	   float numerator = 3.0F, denominator = 0.0F; 
	   cout << "Main started." << endl;
	   
	   //Sets interrupt signal handling.
	   if (signal (SIGFPE, div_zero) == SIG_ERR)
	   { 
	      perror ("Could not set signal SIGFPR");
	      abort ();
	   } 

	if (denominator == 0.0F)
	{
	   cout << "SIGFPE raised." << endl;
	   raise (SIGFPE); 
	}
	else
	   printf (" The result of the division is %g\n", numerator / denominator);
	} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?