我应该在 Windows 上使用哪个链接器进行 clang

ami*_*421 5 c++ llvm clang lldb

我只是想了解如何在 Windows 上使用 Clang/LLVM(而不是 Microsoft Clanf/C2 工具链)。

请澄清我的理解: 是该过程的描述。

我理解正确吗,要生成可执行文件,应该明确执行这些步骤:

  • clang.exe(前端编译器)
  • llc.exe(后端代码生成器)
  • lld.exe(链接器)

或隐含地:

  • 只是运行 clang.exe (它从自身运行其他工具)

但是,在上面的手册中,建议使用Microsoft Linker(link.exe),为什么?

  • 因为这个链接器可以生成 .pdb 文件以供 ms 调试器进行调试?link.exe 和 lld.exe 工作结果的唯一区别是什么?
  • 如果我无论如何都会使用 lld.exe - 这将为 win 平台生成有效的可执行文件,不是吗?
  • 如果我使用 lld - 这可以生成自己的格式调试信息以便在 Windows 上与 lldb 一起使用吗?

小智 3

link.exe 是 Windows 上的标准链接器,(从 LLVM 3.9 开始)可以生成 pdb 调试信息,以便使用 Visual Studio 进行调试。如果您打算使用 lldb,Link.exe 不会保留 DWARF 调试信息。

lld 将生成有效的 DWARF 调试信息,但我上次检查时(我认为是 LLVM 3.7 左右)它仅适用于 x86。它将链接 x64 可执行文件,但不提供有效的调试信息。

更多信息请点击这里。http://lld.llvm.org/windows_support.html