gcc xx -o xx


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 的可執行文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM