六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學習啦>學習電腦>操作系統(tǒng)>Linux教程>

linux編譯命令大全

時間: 佳洲1085 分享

  linux下編譯不同程序用到的命令也是不同,編譯程序的命令不在少數(shù),下面由學習啦小編為大家整理了linux編譯命令大全的相關知識,希望大家喜歡!

  linux編譯命令大全1.gcc

  假設源程序文件名為test.c。

  1. 無選項編譯鏈接

  用法:gcc test.c

  作用:將test.c預處理、匯編、編譯并鏈接形成可執(zhí)行文件。這里未指定輸出文件,默認輸出為a.out。

  2. 選項 -o

  用法:gcc test.c -o test

  作用:將test.c預處理、匯編、編譯并鏈接形成可執(zhí)行文件test。-o選項用來指定輸出文件的文件名。

  3. 選項 -E

  用法:gcc -E test.c -o test.i

  作用:將test.c預處理輸出test.i文件。

  4. 選項 -S

  用法:gcc -S test.i

  作用:將預處理輸出文件test.i匯編成test.s文件。

  5. 選項 -c

  用法:gcc -c test.s

  作用:將匯編輸出文件test.s編譯輸出test.o文件。

  6. 無選項鏈接

  用法:gcc test.o -o test

  作用:將編譯輸出文件test.o鏈接成最終可執(zhí)行文件test。

  7. 選項-O

  用法:gcc -O1 test.c -o test

  作用:使用編譯優(yōu)化級別1編譯程序。級別為1~3,級別越大優(yōu)化效果越好,但編譯時間越長。

  補充:linux編譯多源文件的方法

  如果有多個源文件,基本上有兩種編譯方法:

  [假設有兩個源文件為a.cpp,b.cpp,分別定義兩個類A和B,main.cpp包含A類和B類

  1. 多個文件一起編譯

  用法:gcc a.cpp b.cpp main.cpp -o main.o

  作用:將a.cpp、b.cpp和main.cpp分別編譯后鏈接成main.o可執(zhí)行文件。

  2. 分別編譯各個源文件,之后對編譯后輸出的目標文件鏈接。

  用法:gcc -c a.cpp -o a.o //將a.cpp編譯成a.o

  gcc -c b.cpp -o b.o //將b.cpp編譯成b.o

  gcc -c main.cpp -o main.o //將main.cpp編譯成main.o

  gcc -a.o main.o -o main //將a.o、b.o和main.o鏈接成main可執(zhí)行文件

  以上兩種方法相比較,第一種方法編譯時需要所有文件重新編譯,而第二種方法可以只重新編譯修改的文件,未修改的文件不用重新編譯。

  3. 如果要編譯的文件都在同一個目錄下,可以用通配符gcc *.c -o 來進行編譯。

3610596