我听说过 clang-cl 作为 clang 的“微软风格”版本,但查看我的配置,我观察到以下内容:
这些版本之间有什么区别? (最终我想看看是否值得在我的编译框架中添加对 clang-cl 的支持)
附加数据: 用 -v 调用每个函数会给我第一个
Target: x86_64-w64-windows-gnu
和所有其他的 Target: x86_64-pc-windows-msvc
。
clang
[++
] 与 clang-cl
影响命令行参数的样式。 clang
[++
] 类似于 GCC,是主要接口。 clang-cl
类似于 MSVC(MSVC = cl.exe
)。
您可以使用
clang
[++
] 和 clang-cl
来编译 MSVC 兼容程序。
Clang 与 MSYS2 Clang 的官方版本会影响默认值
--target=...
(使用 MSVC ABI 和库与 MinGW ABI 和库)。这可以在clang --version
中看到。
由 Visual Studio 安装的 Clang 与 Clang 官方安装程序中的安装程序一样,默认使用 MSVC 兼容的
--target
。不知道有没有区别。