平台无关的方法将信号编号转换为字符串

时间:2016-09-18 12:25:37

标签: c++ boost

我的程序中有一个信号处理程序,如下所示:

void signalHandler(int sig)
{
    BOOST_LOG_SEV(logger, fatal) << "Received signal " << sig;
    gQuit = true;
}

目前,这会产生如下输出:

  

收到信号2

但我希望看到的是

  

收到信号SIGINT

我可能会将sig的输出替换为strsignal(sig) should work on POSIX.1-2008 systems。在这个SO问题中讨论了这个解决方案:

Signal number to name?

但是,就我而言,我希望避免引入特定于平台的代码。

boost或标准库是否提供此问题的解决方案?

1 个答案:

答案 0 :(得分:0)

很难证明是消极的,但我没有找到任何在线内容并且没有得到答案,所以我认为是;

没有