gcc 的一些命令記錄

 

把GCC的編譯信息重定向到一個文件中

 

“gcc -c test.c 2> error.txt, Unix下錯誤輸出的ID一般爲2”

 

gcc的編譯流程分爲四個步驟,分別爲:
預處理(Pre-Processing)
編譯(Compiling)
彙編(Assembling)
鏈接(Linking



1)
  預處理: (-E 只預處理 )  gcc –S hello.i –o hello.s  
     把對應的 *.c 文件內 include 的頭文件全部加入到一個 *.i的預處理源碼文件

2) 編譯: (-S 只編譯不彙編)
    語法檢查,詞法分析

3) 彙編:  
gcc –c hello.s –o hello.o  
    把代碼轉化成彙編代碼

4) 連接: 
gcc hello.o –o hello  
    把目標文件連接成執行文件(連接函數庫)  
   
   靜態連接: 把使用到的外部函數以代碼的形式嵌入到執行文件中 (增加執行文件的體積,運行無需函數庫文件)
   動態連接: 只是保存外部函數的一些call信息,用於程序運行時候會叫外部函數。 
(體積比靜態要小,運行時候需要函數庫文件支持)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章