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

时间:2016-11-17 21:31:42

标签: c++ clang llvm lldb

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

请澄清我的理解: here是对流程的描述。

我是否理解这一点,为了生成可执行文件,这些步骤应该明确执行:

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

或隐含地:

  • 只运行clang.exe(自行运行其他工具)

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

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

1 个答案:

答案 0 :(得分:2)

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