首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

signal()的用法解决方案

2012-04-07 
signal()的用法谁帮我解释下signal()函数的用法[解决办法]函数名: signal头文件: signal.h功能: 设置某

signal()的用法
谁帮我解释下signal()函数的用法

[解决办法]
函数名: signal 
头文件: <signal.h>
功 能: 设置某一信号的对应动作 
用 法: int signal(int sig, sigfun fname); 
程序例: 

/* This example installs a signal handler routine for SIGFPE, 
catches an integer overflow condition, makes an adjustment 
to AX register, and returns. This example program MAY cause 
your computer to crash, and will produce runtime errors 
depending on which memory model is used. 
*/ 

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

void Catcher(int sig, int type, int *reglist) 

printf("Caught it!\n"); 
*(reglist + 8) = 3; /* make return AX = 3 */ 


int main(void) 

signal(SIGFPE, Catcher); 
asm mov ax,07FFFH /* AX = 32767 */ 
asm inc ax /* cause overflow */ 
asm into /* activate handler */ 

/* The handler set AX to 3 on return. If that hadn't happened, 
there would have been another exception when the next 'into' 
was executed after the 'dec' instruction. */ 
asm dec ax /* no overflow now */ 
asm into /* doesn't activate */ 
return 0; 



[解决办法]
学习:http://www.vckbase.com/document/viewdoc/?id=1363

热点排行