【发布时间】:2015-06-03 18:44:14
【问题描述】:
来自GNU C 库参考手册
int SIGFPE
SIGFPE 信号报告一个致命的算术错误。这个信号 实际上涵盖了所有算术错误,包括除以零和 溢出。
BSD 系统为 SIGFPE 处理程序提供了一个额外的参数 区分异常的各种原因。为了访问 这个参数,你必须定义处理程序来接受两个参数, 这意味着您必须将其转换为单参数函数类型 建立处理程序。
但没有关于如何访问额外参数的示例。
我做了我的谷歌工作,但找不到任何东西。
如何获得这些额外信息?
【问题讨论】:
-
访问任何函数参数的方式相同——通过您为形式参数提供的名称。
-
@BenVoigt 抱歉,我对系统编程和 C 语言不是很有经验。你的评论是什么意思?
-
为什么不使用
sigaction()而不是过时的signal(),并享受获得struct siginfo*的乐趣呢? -
@RossRidge 修复了标签,抱歉。
-
@KorayTugay:每个 C 程序都以
int main(int argc, char** argv)开头,您可以通过名称argc和argv访问参数。当你创建一个函数来处理你的信号时,你将为参数命名。