C++ 如何知道sigsetjmp或siglongjmp是否失败?

C++ 如何知道sigsetjmp或siglongjmp是否失败?,c++,system-calls,C++,System Calls,这些函数的返回值并不意味着它们是否成功。有办法知道吗?sigsetjmp不会失败-它只是将调用方的上下文存储到提供的缓冲区中 siglongjmp不返回,因此无法通过返回值指示失败。在调用缓冲区之前,必须确保缓冲区有效 在C++中,通常不能使用这些函数;调用“ LojMP”/代码>如果在调用堆栈之间有任何非平凡析构函数的对象和匹配的调用“代码> SETJMP ”,则会出现未定义的行为。标签有点奇怪——它们不是系统调用,而且通常不能在C++中使用这些函数。您想防范什么样的故障,以及如何在C++中使

这些函数的返回值并不意味着它们是否成功。有办法知道吗?

sigsetjmp
不会失败-它只是将调用方的上下文存储到提供的缓冲区中

siglongjmp
不返回,因此无法通过返回值指示失败。在调用缓冲区之前,必须确保缓冲区有效


在C++中,通常不能使用这些函数;调用“<代码> LojMP”/代码>如果在调用堆栈之间有任何非平凡析构函数的对象和匹配的调用“代码> SETJMP ”,则会出现未定义的行为。

标签有点奇怪——它们不是系统调用,而且通常不能在C++中使用这些函数。您想防范什么样的故障,以及如何在C++中使用这些故障?