Linux上gcc的使用

在Linux 下使用gcc來編譯程序時,只需使用:(假設源代碼文件的文件名爲main.c)

gcc main.c

./a.out

然而該過程可分解爲四步:預處理、編譯、彙編、鏈接。

1.預處理:gcc -E main.c -o main.i

                 生成 .i 文件

        刪除註釋,處理預處理指令,將包含的頭文件展開

2.編譯:gcc -S main.i   (gcc -S main.i -o main.s)

             生成 .s 文件 

       詞法分析、語法分析、語義分析

3.彙編:gcc -c main.s

       生成 .o 文件,

       或使用gcc命令:gcc -c main.c -o main.o

       從源代碼文件開始,經過預編譯、編譯、和彙編直接輸出目標文件 .obj

       將彙編指令翻譯成二進制生成符號表,生成各種段

4.鏈接:gcc main.o   生成 a.out 最終可執行文件

              gcc main.o -o main   

           鏈接的主要內容是把各個模塊之間相互引用的部分都處理好,使得各個模塊之間能夠正常的銜接。鏈接的主要過程包括地址和空間分配、符號決議和重定位等。

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