Latest web development tutorials

funciones de la biblioteca C - (aumento)

C biblioteca estándar - <signal.h> C biblioteca estándar - <signal.h>

descripción

funciones de la biblioteca Cint aumentar (int sig) conducirá a generar una señal sig.sig parámetros compatibles con las macros sig.

declaración

Aquí está la declaración de la función de subida ().

int raise(int sig)

parámetros

  • sig - código de la señal que se enviará.Estas son algunas de las constantes de señal criterios importantes:
信号
SIGABRT(Signal Abort) 程序异常终止。
SIGFPE(Signal Floating-Point Exception) 算术运算出错,如除数为 0 或溢出(不一定是浮点运算)。
SIGILL(Signal Illegal Instruction) 非法函数映象,如非法指令,通常是由于代码中的某个变体或者尝试执行数据导致的。
SIGINT(Signal Interrupt) 中断信号,如 ctrl-C,通常由用户生成。
SIGSEGV(Signal Segmentation Violation) 非法访问存储器,如访问不存在的内存单元。
SIGTERM(Signal Terminate) 发送给本程序的终止请求信号。

Valor de retorno

La función devuelve cero si tiene éxito, no cero en caso contrario.

Ejemplos

El siguiente ejemplo muestra se utiliza la función de subida ().

#include <signal.h>
#include <stdio.h>

void signal_catchfunc(int);

int main()
{
    int ret;

   ret = signal(SIGINT, signal_catchfunc);

   if( ret == SIG_ERR) 
   {
      printf("错误:不能设置信号处理程序。\n");
      exit(0);
   }
   printf("开始生成一个信号\n");
   ret = raise(SIGINT);
   if( ret !=0 ) 
   {
      printf("错误:不能生成 SIGINT 信号。\n");
      exit(0);
   }

   printf("退出...\n");
   return(0);
}

void signal_catchfunc(int signal)
{
   printf("!! 信号捕获 !!\n");
}

Vamos a compilar y ejecutar el programa anterior, lo que resultará en lo siguiente:

开始生成一个信号
!! 信号捕获 !!
退出...

C biblioteca estándar - <signal.h> C biblioteca estándar - <signal.h>