我想知道是否有一种方法可以std::thread
毫无例外地使用,如果没有,我可以使用哪些替代方法?
实际上,我的目标是 windows 和 linux 桌面,但将来可能会扩展。
编辑:仅使用编译器选项来禁用异常,不是可接受的解决方案。错误必须以一种或另一种方式处理。
问题是我的代码中使用的唯一异常是那些处理std::thread
错误的异常。我想摆脱那些拥有无异常代码的人
edit2:我找到了 tinythread++ 库,如果需要,它似乎很容易修改并且可以正常工作。
我想知道是否有一种方法可以std::thread
毫无例外地使用,如果没有,我可以使用哪些替代方法?
实际上,我的目标是 windows 和 linux 桌面,但将来可能会扩展。
编辑:仅使用编译器选项来禁用异常,不是可接受的解决方案。错误必须以一种或另一种方式处理。
问题是我的代码中使用的唯一异常是那些处理std::thread
错误的异常。我想摆脱那些拥有无异常代码的人
edit2:我找到了 tinythread++ 库,如果需要,它似乎很容易修改并且可以正常工作。
您可以禁用 STL 的异常,但每个编译器都不同。当然,由于标准实际上说必须抛出一些异常,所以每当你做一些会抛出异常的事情时,你都会得到未定义的行为。
在 gcc 中,您可以使用禁用异常-fno-exceptions
在 MSVC 中:我可以在 STL 中禁用异常吗?