Theo LLVM's Getting Started (Windows) site:Tại sao clang/llvm trên windows yêu cầu Visual Studio của Link.exe?
... Clang có thể được sử dụng để phát ra bitcode, trực tiếp phát ra các file đối tượng hoặc thực thi thậm chí liên kết sử dụng link.exe Visual Studio.
Tại sao việc sử dụng Link.exe
trên Windows cần thiết? Và, cho rằng vấn đề, những gì được sử dụng trên Mac/Linux? Hơn nữa xuống nó nói:
Compile the program to object code using the LLC code generator:
C:\..> llc -filetype=obj hello.bc
Link to binary using Microsoft link:
C:\..> link hello.obj -defaultlib:libcmt
Tại sao LLC không thể thực hiện bước cuối cùng? LLI dường như làm việc tốt vì vậy tôi giả định rằng nó tương tác với link.exe
bằng cách nào đó dưới mui xe - tại sao không thể LLC?
Tôi đoán điều này có nghĩa là LLVM không làm LTO? – Mehrdad
@Mehrdad: LLVM thực hiện LTO ở cấp IR. Nhưng ngay cả khi một tập tin thực thi được tạo ra từ một tệp .s duy nhất, nó vẫn phải được liên kết. –
@Mehrdad, cả 'gold' và Mac' ld' đều có thể sử dụng plugin LLVM cho LTO. –