一. 常用編譯命令選項
假設源程式檔名為test.c。
1. 無選項編譯鏈結
用法:gcc test.c
作用:將test.c預處理、彙編、編譯並鏈結形成可執行檔案。這裡未指定輸出檔案,預設輸出為a.out。
2. 選項 -o
用法:gcc test.c -o test
作用:將test.c預處理、彙編、編譯並鏈結形成可執行檔案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鏈結成最終可執行檔案test。
7. 選項-o
用法:gcc -o1 test.c -o test
作用:使用編譯優化級別1編譯程式。級別為1~3,級別越大優化效果越好,但編譯時間越長。
二. 多原始檔的編譯方法
如果有多個原始檔,基本上有兩種編譯方法:
[假設有兩個原始檔為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可執行檔案。
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可執行檔案
以上兩種方法相比較,第一種方法編譯時需要所有檔案重新編譯,而第二種方法可以只重新編譯修改的檔案,未修改的檔案不用重新編譯。
3. 如果要編譯的檔案都在同乙個目錄下,可以用萬用字元gcc *.c -o 來進行編譯。
linux 下常用命令
linux 下根據內容查詢檔案 同時包含 keyword1 和 keyword2 的檔案 find name type f print xargs grep keyword1 grep keyword2 linux下根據程序名稱殺死程序 ps ef grep 程序名 grep v grep cut ...
linux下常用命令
1 程序顯示命令 顯示所有的程序 ps a 顯示所有的程序詳細資訊 ps al 顯示終端中的資訊 ps a 動態顯示程序資訊 top 以樹狀形式顯示程序資訊 pstree less 退出用q 顯示更詳細的資訊 ps aux或者ps ef 備註 後台程式不受終端退出影響,前台程式則要隨著終端退出而退出...
Linux下常用命令
linux下的命令實在太多,光靠找男人有時候一點都不好使,還是記一下好!一 壓縮與解壓縮命令 使用gzip程式壓縮 tar xvfz tar.gz c 使用gzip程式解壓到 目錄 tar cvfj tar.bz2 jpg 使用bzip2程式壓縮 tar xvfj tar.bz2 c 使用bzip2...