2016-11-17 29 views
3

我只是想了解如何在Windows上使用Clang/LLVM(而不是Microsoft Clanf/C2 toolchain)。哪个连接器应该用于在窗户上敲击

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

做我理解这一权利,以生成可执行应明确执行这些步骤:

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

或隐式:

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

然而,上面的说明书中,建议使用微软的链接器(LINK.EXE),为什么呢?

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

回答

2

link.exe是Windows上的标准链接器,并且(对于LLVM 3.9)可以生成用于使用visual studio进行调试的pdb调试信息。如果您打算使用lldb,则Link.exe不会保留DWARF调试信息。

lld将产生有效的DWARF调试信息,但是最后一次检查(我认为LLVM 3.7)它只适用于x86。它将链接一个x64可执行文件,但不提供有效的调试信息。

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