2016-11-17 25 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