程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> gcc編譯過程簡述

gcc編譯過程簡述

編輯:C++入門知識

 -o hello hello.c

四個階段逐步完成:,如下圖所示。

,hello.c 的源代碼如下



 

hello.c

,而是預處理器the C Preprocessor)

根據以字符開頭#開頭的命令,修改原始C程序。比如hello.c中的第一行為 #include <stdio.h>,。

          funlockfile (FILE *     

 

hello.i

,如下

, -, 
    ,@progbits

。例如,C和Fortran 的在此步編譯產生的輸出文件都是一樣的匯編語言。

 

匯編階段

hello.s

,用命令 打開如下

 457f 464c      
        
        
    83e5 f0e4 ec83 c710 
   fce8 ffff c9ff   2c6f  726f 646c   3a43 
  6e75  4c2f 6e69  2 2e36 2d33   746e   2e36      7a01 
 7c01       
        
       2e00 
 746d  2e00    2e00 
    2e00  2e6c  
 2e00   2e00      472e 554e 732d  6b63 2e00 
 2e6c  665f  656d   
                
        
        
        
        
        
        

 

hello程序調用了printf 函數,這個函數是標准C庫中的一個函數,他保存在一個名為printf.o 的文件中,這個文件必須以某種方式合並到我們的hello.o的程序中。



 

 


參考文獻

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved