C語言中文網 目錄
首頁 > GCC編譯器 閱讀:3,502

GCC -o選項:指定輸出文件

< 上一頁GCC -c選項 GCC -E選項下一頁 >

GCG -o選項用來指定輸出文件,它的用法為:

[infile] -o [outfile]

[infile] 表示輸入文件(也即要處理的文件),它可以是源文件,也可以是匯編文件或者是目標文件;[outfile] 表示輸出文件(也即處理的結果),它可以是預處理文件、目標文件、可執行文件等。

[infile] 和 [outfile] 可以是一個文件,也可以是一組文件:
  • 如果 [infile] 是一組文件,那么就表示有多個輸入文件;
  • 如果 [outfile] 是一組文件,那么就表示有多個輸出文件。

如果不使用 -o 選項,那么將采用默認的輸出文件,例如,把可執行文件作為輸出文件,它的名字默認為 a.out。

GCC -o選項使用舉例

1) 將源文件作為輸入文件,將可執行文件作為輸出文件,也即完整地編譯整個程序:

$ gcc main.c func.c -o app.out

將 main.c 和 func.c 兩個源文件編譯成一個可執行文件,其名字為 app.out。如果不使用 -o 選項,那么將生成名字為 a.out 的可執行文件。

2) 將源文件作為輸入文件,將目標文件作為輸出文件,也即只編譯不鏈接:

$ gcc -c main.c -o a.o

將源文件 main.c 編譯為目標文件 a.o。如果不使用 -o 選項,那么將生成名為 main.o 的目標文件。

3) 將源文件作為輸入文件,將預處理文件作為輸出文件,也即只進行預處理操作:

$ gcc -E main.c -o demo.i

對源文件 main.c 進行預處理操作,并將結果放在 demo.i 文件中。如果不使用 -o 選項,那么將生成名為 main.i 的預處理文件。

4) 將目標文件作為輸入文件,將可執行文件作為輸出文件:

$ gcc -c func.c main.c
$ gcc func.o main.o -o app.out

第一條命令只編譯不鏈接,將生成 func.o 和 main.o 兩個目標文件。第二條命令將生成的兩個目標文件生成最終的可執行文件 app.out。如果不使用 -o 選項,那么將生成名字為 a.out 的可執行文件。
< 上一頁GCC -c選項 GCC -E選項下一頁 >

精美而實用的網站,提供C語言、C++、STL、Linux、Shell、Java、Go語言等教程,以及socket、GCC、vi、Swing、設計模式、JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo