C++:Interix信号

bgu*_*uiz 11 c++ posix signals compiler-errors interix

如何在Interix平台上编译 /使用信号?我无法将其编译,因为Interix似乎与非POSIX兼容,至少在其实现中是这样.signal.h

如果有人找到了一种方法来解决这个问题,并允许代码在Interix上编译信号,请告诉我如何!

谢谢.


细节:

C,C++中的传统软件,基于Linux和Interix构建(适用于Win XP).

在编译期间,仅在Interix上出现以下错误; 在添加pthreadsignal代码之后,不在Linux上.pthreads由于与Xmotif冲突(编译但在运行时崩溃),因此无法在没有信号的情况下使用.

结构差异引起的错误:

`struct siginfo' has no member named `si_value'
aggregate `sigval val' has incomplete type and cannot be defined
`struct sigaction' has no member named `sa_sigaction'
Run Code Online (Sandbox Code Playgroud)

未申报的错误:

`sigqueue' undeclared
`SA_NODEFER' undeclared
`SA_SIGINFO' undeclared
Run Code Online (Sandbox Code Playgroud)

咨询的其他材料:

http://www.mail-archive.com/bug-gnulib@gnu.org/msg10425.html
http://www.gnu.org/software/hello/manual/gnulib/signal_002eh.html
HTTP:// EN. wikipedia.org/wiki/Interix
http://www.opengroup.org/susv3xbd/signal.h.html

Kei*_*ith 0

请参阅Interix 手册页和上面的开放组链接。

您可以用 sa_handler 替换 si_sigaction。