Windows Signal 的补充阅读
发布: (2026年2月18日 GMT+8 08:15)
2 分钟阅读
原文: Dev.to
Source: Dev.to
Signal
设置中断信号处理。
Syntax
void __cdecl *signal(int sig, int (*func)(int, int));
Parameters
sig– 信号值。func– 指向要执行的函数的指针。函数的第一个参数是信号值,第二个参数是子代码,可在第一个参数为SIGFPE时使用。
Remarks
signal 函数使进程能够选择多种方式之一来处理来自操作系统的中断信号。sig 参数是 signal 响应的中断;它必须是以下清单常量之一,这些常量在 SIGNAL.H 中定义。
| sig value | Description |
|---|---|
SIGABRT | 异常终止 |
SIGFPE | 浮点错误 |
SIGILL | 非法指令 |
SIGINT | CTRL+C 信号 |
SIGSEGV | 非法存储访问 |
SIGTERM | 终止请求 |
如果 sig 不是上述值之一,则会调用无效参数处理程序,如 参数验证 中所定义。如果允许继续执行,此函数会将 errno 设置为 EINVAL 并返回 SIG_ERR。
默认情况下,signal 会以退出代码 3 终止调用程序,无论 sig 的值为何。