2

我想知道是否有一种方法可以std::thread毫无例外地使用,如果没有,我可以使用哪些替代方法?

实际上,我的目标是 windows 和 linux 桌面,但将来可能会扩展。

编辑:仅使用编译器选项来禁用异常,不是可接受的解决方案。错误必须以一种或另一种方式处理。

问题是我的代码中使用的唯一异常是那些处理std::thread错误的异常。我想摆脱那些拥有无异常代码的人

edit2:我找到了 tinythread++ 库,如果需要,它似乎很容易修改并且可以正常工作。

4

1 回答 1

1

您可以禁用 STL 的异常,但每个编译器都不同。当然,由于标准实际上说必须抛出一些异常,所以每当你做一些会抛出异常的事情时,你都会得到未定义的行为。

在 gcc 中,您可以使用禁用异常-fno-exceptions

在 MSVC 中:我可以在 STL 中禁用异常吗?

于 2013-01-03T12:33:01.517 回答