信号功能错误

时间:2014-02-14 09:47:23

标签: c++ c++-cli signals posix

我是C ++的新手,在我的主要方法中遇到信号函数错误。 当我构建应用程序输出时出现错误C3861:'signal':找不到标识符。

int main(array<System::String ^> ^args)
{
 signal(SIGINT, signal_callback_handler);
 signal(SIGTERM, signal_callback_handler);
}

感谢。

2 个答案:

答案 0 :(得分:1)

如果您已经#include <signal.h>,则错误原因可能是您的项目是使用/clr:pure编译的。您无法在纯CLR项目中调用signal()

您可以将/clr:pure更改为/clr

来解决此问题
  1. 打开项目属性页面。
  2. 更改以下设置:Configuration Properties - &gt; C/C++ - &gt; All Options - &gt; Common Language RunTime Support

答案 1 :(得分:0)

C include文件可能在声明周围缺少extern C {。 由于这是C ++,您可能最好包括<csignal>而不是<signal.h>

#include <csignal>