首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

sig_atomic_t

在头文件<signal.h>中定义

?

?

typedef / * unspecified * / sig_atomic_t;

?

?

即使存在由信号产生的异步中断,也可以作为原子实体访问的整数类型。

代码语言:javascript
复制
#include <signal.h>
#include <stdio.h>
 
volatile sig_atomic_t gSignalStatus = 0;
 
void signal_handler(int signal)
{
    gSignalStatus = signal;
}
 
int main(void)
{
    /* Install a signal handler. */
    signal(SIGINT, signal_handler);
 
    printf("SignalValue:   %d\n", gSignalStatus);
    printf("Sending signal %d\n", SIGINT);
    raise(SIGINT);
    printf("SignalValue:   %d\n", gSignalStatus);
}

可能的输出:

代码语言:javascript
复制
SignalValue:   0
Sending signal 2
SignalValue:   2

参考

  • C11标准(ISO / IEC 9899:2011):
    • 7.14 / 2信号处理<signal.h>(p:265)
  • C99标准(ISO / IEC 9899:1999):
    • 7.14 / 2信号处理<signal.h>(p:246)
  • C89 / C90标准(ISO / IEC 9899:1990):
    • 4.7信号处理<signal.h>

扩展内容

信号

设置特定信号的信号处理程序(功能)

| sig_atomic_t 的C ++文档 |

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com