在POSIX兼容的平台上,SIGFPE是当一个进程执行了一个错误的算术操作时发送给它的信号。SIGFPE的符号常量在头文件signal.h
中定义。因为在不同平台上,信号数字可能变化,因此常使用信号名称。
是信号名的通用前缀。是(浮点异常)的首字母缩略字。产生SIGFPE信号时并非一定要涉及浮点算术,之所以不修改名字是因为这么做会破坏向下兼容性。
导致SIGFPE被发送给进程的原因有很多。一个常见的例子是由于一个意外输入导致的溢出,或者在程序构造中的错误。
SIGFPE可以被处理。也就是说,程序员可以指定他们在接收到信号时想要的动作,例如调用一个子程序,忽略事件等。
在特定情形下,忽略SIGFPE可能导致程序出现意料之外的行为,包括但不限于由于不断重试违规操作而导致程序挂起。但是,忽略并非由计算造成的SIGFPE信号是安全的,例如通过kill
系统调用发送的那些。
一个通常的疏忽是认为除以零是SIGFPE的唯一来源。在一些架构上(包括IA-32),使用INT_MIN(最小的可以被表示的负整数值)除以-1的整数除法也会触发这个信号,因为商是一个无法被表示的正数。(比如8位有符号整数可以表示-128、+127和它们之间的整数。-128÷-1=+128 > +127,因此无法被表示而产生溢出并触发此信号)
这是一个尝试执行一个称为整数除以零,或的错误算术运算的ANSI C程序的例子。
int main(){ int x = 42/0; return 0; /* Never reached */}
在一个运行Linux的IA-32上编译运行,产生下列内容:
$ gcc -o sigfpe sigfpe.csigfpe.c: In function ‘main’:sigfpe.c:3: warning: division by zero$ ./sigfpeFloating point exception (core dumped)
一个来自gdb的栈跟踪显示在main
函数中发生了SIGFPE信号:
Program received signal SIGFPE, Arithmetic exception.0x08048373 in main ()
参考
- ^ sourceware.org Git - glibc.git/blob - bits/signum.h. 2001-07-06 .
参阅
计算机信号 |
---|
| POSIX | SIGABRT · SIGALRM · SIGFPE · SIGHUP · SIGILL · SIGINT · SIGKILL · SIGPIPE · SIGQUIT · SIGSEGV · SIGTERM · SIGUSR1 · SIGUSR2 · SIGCHLD · SIGCONT · SIGSTOP · SIGTSTP · SIGTTIN(英语:SIGTTIN) · SIGTTOU · SIGBUS · SIGPOLL · SIGPROF · SIGSYS · SIGTRAP · SIGURG(英语:SIGURG) · SIGVTALRM · SIGXCPU · SIGXFSZ · SIGIOT · SIGEMT · SIGSTKFLT · SIGIO · SIGCLD · SIGINFO · SIGPWR · SIGLOST · SIGWINCH · SIGUNUSED
相关- 活性位点活性位点(英语:Active site),又称激活位置,是指一个酵素中具有催化能力与结合位置的部位。其结构与化学性质可供辨识底物,并与底物结合。激活位置通常是酵素表面上一个类似口袋的
- 集合城市组合城市(conurbation),又叫“集合都市”,是指多个邻接的都市随着都市规模的发展,跨过行政区划的界限发展为一个都市区的状态。这一概念由帕德里克·杰德斯在1915年提出。随着工
- 视皮层视觉皮层(英文:Visual cortex)是指大脑皮层中主要负责处理视觉讯息的部分,位于大脑后部的枕叶。人类的视觉皮层包括初级视皮层(V1,亦称纹状皮层(Striate cortex))以及纹外皮层(Extrast
- 治外法权治外法权是免除本地法律司法权的情形,通常是外交谈判的结果。例如,若一个甲国公民当在乙国访问时享受治外法权,那么这个人在涉嫌犯罪时,乙国的法院不能进行审判。治外法权通常是
- 红颊獴见内文红颊獴(Herpestes javanicus)又叫红脸獴、印度獴或爪哇獴,是灵猫科獴属]的一个品种,广泛分布亚洲多个不同的地方,分为不同亚种。獴在世界很多地方均可找到,但红颊獴的体型比
- 孤魂信仰孤魂信仰,或称孤魂祭祀,古代称厉祭,为东亚儒教及民间信仰,祭祀因天灾、战争、屠杀、械斗、疾疫、冤屈、罪行、车祸等意外枉死,或无后、夭折死者的信仰,避免无嗣、横死、冤死者之魂
- 13号线13号线可以指:
- 林子平 (日本)林 子平(はやし しへい,1738年8月6日-1793年7月28日),名友直,字子平,号六无斋主人,家里世代为德川氏的幕臣,是江户时代后期擅长兵学、地理学的爱国主义思想家,也是著名的海防论者。与
- 企业号航天飞机企业号航天飞机(Space Shuttle Enterprise,NASA内部编号OV-101),又译为进取号,是NASA打造的第一架航天飞机。“企业号航天飞机”实际上只是一个的航天的测试平台,没有引擎等相关部
- 果子干果子干是北京的一种水果汤,用柿饼、杏干、黑枣、以及莲藕、梨制作的一种小吃。果子干是北京过年吃的一款甜食。味道凉甜脆酸。制作时,将柿饼去蒂洗净,和洗净的杏干,黑枣一起放在
|
---|
|