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

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

linux編譯命令大全

時(shí)間: 佳洲1085 分享

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

  linux編譯命令大全1.gcc

  假設(shè)源程序文件名為test.c。

  1. 無選項(xiàng)編譯鏈接

  用法:gcc test.c

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

  2. 選項(xiàng) -o

  用法:gcc test.c -o test

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

  3. 選項(xiàng) -E

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

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

  4. 選項(xiàng) -S

  用法:gcc -S test.i

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

  5. 選項(xiàng) -c

  用法:gcc -c test.s

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

  6. 無選項(xiàng)鏈接

  用法:gcc test.o -o test

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

  7. 選項(xiàng)-O

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

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

  補(bǔ)充:linux編譯多源文件的方法

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

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

  1. 多個(gè)文件一起編譯

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

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

  2. 分別編譯各個(gè)源文件,之后對(duì)編譯后輸出的目標(biāo)文件鏈接。

  用法: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í)行文件

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

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

3610596