2016-11-17 2 views
3

Я просто пытаюсь понять, как использовать Clang/LLVM в Windows (а не в Microsoft Clanf/C2 toolchain)., какой линкер я должен использовать для clang на окнах

уточните мое понимание: here - описание процесса.

я понимаю это право, чтобы произвести выполнимый эти шаги должны быть выполнены в явном виде:

  • clang.exe (интерфейс компилятора)
  • llc.exe (бэкенд генератор кода)
  • lld.exe (линкер)

или неявно:

  • просто работает clang.exe (который запускает другие инструменты из себя)

однако, в вышеупомянутом руководстве, рекомендуется использовать Microsoft Linker (link.exe), почему?

  • потому что этот компоновщик может создать файл .pdb для отладки отладчиком ms? это единственная разница в результате работы link.exe и lld.exe?
  • Если я буду использовать lld.exe в любом случае - это приведет к действительным исполняемым файлам для платформы win, не так ли?
  • если я буду использовать lld - может ли это создать собственный отладочный формат для использования с lldb на окнах?

ответ

2

link.exe - стандартный компоновщик в Windows и (с LLVM 3.9) может генерировать информацию об отладке pdb для отладки с визуальной студией. Link.exe не сохраняет информацию об отладке DWARF, если вы собираетесь использовать lldb.

lld будет выдавать действительную информацию об отладке DWARF, но в последний раз, когда я проверял (я думаю, что вокруг LLVM 3.7), он работал только для x86. Он свяжет исполняемый файл x64, но не предоставляет достоверную информацию об отладке.

Подробнее здесь. http://lld.llvm.org/windows_support.html

Смежные вопросы