Windows 上 clang 版本之间的差异

问题描述 投票:0回答:1

我听说过 clang-cl 作为 clang 的“微软风格”版本,但查看我的配置,我观察到以下内容:

  • 我的 msys2 目录中有一个可执行的 clang
  • 我的 msys2 目录中有一个可执行的 clang-cl
  • 我的 Visual-studio 构建工具目录中有一个可执行的 clang
  • 我的 Visual-studio 构建工具目录中有一个可执行的 clang-cl

这些版本之间有什么区别? (最终我想看看是否值得在我的编译框架中添加对 clang-cl 的支持)


附加数据: 用 -v 调用每个函数会给我第一个

Target: x86_64-w64-windows-gnu
和所有其他的
Target: x86_64-pc-windows-msvc

c++ windows clang clang-cl
1个回答
0
投票

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
。不知道有没有区别。

© www.soinside.com 2019 - 2024. All rights reserved.