0

我想在 Windows 10(64 位)上用 C++ 测试数据竞争,但Visual C++ 似乎还不支持它。因此,我安装了 Cygwin 并获得了 g++ 11.2.0,尝试使用 编译我的 C++ 代码-fsanitize=thread -fPIE -pie -g,但失败并-ltsan not found出现错误。

该文档没有提及有关 Windows 的任何内容。甚至可以在 Windows 上使用 Thread Sanitizer 吗?如果是这样,如何?

4

2 回答 2

1

您链接的消毒剂是在 Clang 中实现的,而不是 MSVC 或 gcc。您可以在 Visual Studio 中使用 clang。为此,您需要安装适当的工具链。您可以通过 cygwin 或 WSL 在 Windows 上直接运行 clang。

此外,您能否发布完整的编译命令(例如通过 godbolt.org)?

例如:https ://godbolt.org/z/fax6o9E1f

于 2022-01-28T13:24:53.363 回答
0

只需使用 WSL 并在其上使用线程消毒剂。

于 2022-01-31T10:55:03.453 回答