方式1:
gcc hello.c 輸出乙個a.out,然後./a.out來執行該應用程式。
gcc -o hello hello.c 輸出hello,然後./hello來執行該應用程式。
方式2:
gcc -e -o hello.i hello.c
gcc -s -o hello.s hello.i
gcc -c -o hello.o hello.s
gcc -o hello hello.o
.o:object file(obj檔案)
小結:1)輸入檔案的字尾名和選項共同決定gcc到底執行那些操作。
2)在編譯過程中,除非使用了-e、-s、-c選項(或者編譯出錯阻止了完整的編譯過程)
否則最後的步驟都是鏈結。
方式3:
gcc -c -o hello.o hello.c
gcc -o hello hello.o
gcc會對.c檔案預設進行預處理操作,-c再來指明了編譯、彙編,從而得到.o檔案
再通過gcc -o hello hello.o將.o檔案進行鏈結,得到可執行應用程式
Spring DI的3種方式
前面講解ioc和di入門的時候,對表現層依賴的service物件,使用了setter方法進行注入,這裡對依賴注入的3中方式進行深入分析。依賴注入的3中方式 1 使用構造器注入 2 使用setter方法注入 3 使用介面注入 構造器注入 car類 public class car override p...
GCC的編譯過程
用編譯器gcc生成可執行檔案,看似簡單的一步完成,其實包含了四個過程。分別是 預處理 pre processing 這一步需要分析各種預處理命令,如 define include if,ifndef,ifdef,endif,undef等。對於巨集而言,gcc會將巨集定義的內容直接替換,include...
gcc的編譯過程
乙個.c檔案變成乙個可執行檔案需要四個步驟,如下圖所示 選項功能 v檢視gcc編譯器的版本,顯示gcc執行時的詳細過程 o 指定輸出檔名為file,這個名稱不能跟源檔名同名 e只預處理,不會編譯 彙編 鏈結 s只編譯,不會彙編和鏈結 c編譯和彙編,不會鏈結 1 通過 gcc e o i c 只預處理...