任何一個應用程序的編譯步驟:(及 終端操作)
<1>.預編譯:預編譯器 負責處理 “#”開頭的指令。
gcc -E -o xxx.i xxx.c
預編譯(-E) “xxx.c”文件,輸出(-o)的結果:“xxx.i”文件。
<2>.匯編 :匯編器 負責將 預編譯器處理的結果匯編成 匯編代碼。
gcc -S -o xxx.s xxx.i
<3>.編譯:編譯器 負責將 匯編代碼編譯成 二進制級別的代碼。(語法分析,函數(shù)聲明)
gcc -c -o xxx.o xxx.s
<4>.鏈接:鏈接器 負責將 多個二進制代碼和系統(tǒng)庫等等 組合成一個完整的二進制應用程序。(檢查函數(shù)定義)
gcc -o xxx xxx.o
<5>.運行二進制應用程序:
./xxx
終端編輯代碼的操作:
(1).創(chuàng)建 文件夾“abc”:
GYHdeMacBook-Pro:~ gyh$ mkdir abc
效果:

在終端中打開 文件夾“abc”:
GYHdeMacBook-Pro:~ gyh$ cd abc
查看文件夾“abc”里面內容:
GYHdeMacBook-Pro:abc gyh $ ls
并沒有什么內容。
(2).創(chuàng)建 “abc.c”文件,并對其操作:
GYHdeMacBook-Pro:abc gyh $ vi abc.c
對“abc.c”文件進行操作:(“
:wq”:保存退出)
在“abc”文件夾里:多出一個“abc.c”文件
(3).對“abc.c”文件進行預編譯:
GYHdeMacBook-Pro:abc gyh $ gcc -E -o abc.i abc.c
在“abc”文件夾里:又多出一個“abc.i”文件

(4).打開、查看 “abc.i”文件:
GYHdeMacBook-Pro:abc gyh $ vi abc.i無需任何操作:(最底部為剛剛編寫的代碼)
對“abc.i”文件,不做 任何操作
只對“abc.c”文件進行處理
(5).對“abc.c”文件進行鏈接:
GYHdeMacBook-Pro:abc gyh $ gcc -o abc abc.c
在“abc”文件夾里:多出一個“abc”文件(二進制應用程序)

查看“abc”文件夾里的內容:
GYHdeMacBook-Pro:abc gyh $ ls
輸出:
abc abc.c abc.i
(6).運行二進制應用程序:
GYHdeMacBook-Pro:abc gyh $ ./abc
輸出:(運行效果)
sum is:8
Circle's Area is:78.539750
Hello,Sir!abc is?????
展示錯誤展示:
1.打開“abc.c”文件,進行(編輯)處理
GYHdeMacBook-Pro:abc gyh $ vi abc.c寫入錯誤代碼:
2.對“abc.c”文件進行預編譯:
GYHdeMacBook-Pro:abc gyh $ gcc -E -o abc.i abc.c
3.對“abc.c”文件進行鏈接:
GYHdeMacBook-Pro:abc gyh $ gcc -o abc abc.c報錯提示:
“GYHdeMacBook-Pro:abc gyh $ ./abc”執(zhí)行的結果:
修改之后
- 1.進行(編輯)處理:
GYHdeMacBook-Pro:abc gyh $ vi abc.c
- 2.預編譯:
GYHdeMacBook-Pro:abc gyh $ gcc -E -o abc.i abc.c
- 3.鏈接:
GYHdeMacBook-Pro:abc gyh $ gcc -o abc abc.c
- 4.運行
GYHdeMacBook-Pro:abc gyh $ ./abc結果:
Atom編輯代碼
“Atom”圖標:
“Atom”圖標
“abc.i”文件:
“abc.c”文件:進行代碼編輯(添加一句打印語句)
“abc.i”文件 也多出該打印語句:
- 3.鏈接:
GYHdeMacBook-Pro:abc gyh $ gcc -o abc abc.c- 4.運行:
GYHdeMacBook-Pro:abc gyh $ ./abc結果:












