學習C語言,瞭解它的編譯過程是很重要的,特別是針對以後我們在linux或者Unix操作系統上進行程序開發的時候,所以本節學習C語言的編譯過程。
首先給出C語言編譯過程的示意圖,如下:
看完編譯過程,我們還要親身體驗一下編譯過程,下面介紹C語言在Linux下的編譯器gcc的編譯選項:
-o:表示指出C語言編譯生成的文件名。
-E:表示對C語言進行預編譯。
-S:表示對C語言進行反彙編。
-c:表示對C語言進行彙編。
ldd:表示查看C語言生成最後的可執行代碼的所鏈接的庫。
舉個例子,比如我們有一個hello.c的C語言源文件,下面我們對它進行編譯:
gcc -o hello.i -E hello.c
gcc -o hello.s -S hello.i
gcc -o hello.o -c hello.s
gcc -o hello hello.o
經過上面的步驟我們就可以看到生成了hello.i hello.s hello.o hello這幾個文件然後我們用./hello命令執行生成的可執行文件,發現程序正常運行。
好的,C語言的編譯過程講解到此結束。