2014-09-18 68 views
1

我想鏗鏘和LLVM EXE用兩種方式:鐺-S -emit,LLVM,然後編譯

  1. 鐺-02 1.C -o的1.exe
  2. 鐺-S - emit-llvm 1.c
    llc 1.ll -filetype = obj
    鏈接1.obj -defaultlib:??? (MSVCRT或libcmt)

但exe文件會不同,第一個exe會更快,如何做到這一點平等? 或者如何看看clang使用像defaultlib?

難:窗戶64.

回答

2

您可以將第一個命令行上添加-v標誌看到鏈接器調用鐺將用它來建立你的程序。至於第一個可執行文件速度更快,這可能是因爲您沒有在第二種情況下傳遞任何優化標誌。

我沒有Windows機器方便的,但這裏是從我的MAC一些輸出例如:

$ clang -v -O2 1.c -o 1.exe 
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn) 
Target: x86_64-apple-darwin13.3.0 
Thread model: posix 
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.9.0 -emit-obj -disable-free -disable-llvm-verifier -main-file-name 1.c -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 236.3 -v -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1 -O2 -fdebug-compilation-dir /Users/carl/Desktop/example -ferror-limit 19 -fmessage-length 80 -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.9.0 -fencode-extended-block-signature -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o /var/folders/mk/0mblc5810cjgs0nylrkjxqbm0000gq/T/1-7ac5d9.o -x c 1.c 
clang -cc1 version 5.1 based upon LLVM 3.4svn default target x86_64-apple-darwin13.3.0 
#include "..." search starts here: 
#include <...> search starts here: 
/usr/local/include 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include 
/usr/include 
/System/Library/Frameworks (framework directory) 
/Library/Frameworks (framework directory) 
End of search list. 
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.9.0 -o 1.exe /var/folders/mk/0mblc5810cjgs0nylrkjxqbm0000gq/T/1-7ac5d9.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/lib/darwin/libclang_rt.osx.a 

您可以看到鏈接線下行在底部。分爲可讀性,其:

ld 
    -demangle 
    -dynamic 
    -arch x86_64 
    -macosx_version_min 10.9.0 
    -o 1.exe 
    $(OBJECT_FILE) 
    -lSystem  
    libclang_rt.osx.a