gcc

  • gcc:一個工具集合,包含預處理器,編輯器,彙編器,鏈接器等組件

說明:當不使用任何選項時,gcc將會生成一個名爲a.out的可執行文件

  • gcc選項
  1. gcc -E  預處理   .i
  2. gcc -S  編譯成彙編代碼   .s
  3. gcc -c  彙編成目標代碼   .o
  4. gcc -o  鏈接成可執行代碼  .out/.exe
  • gcc -E   只進行預處理
  1. gcc -E test.c  只進行預處理
  2. gcc -E test.c -o test.i  將test.c預處理後的代碼放在test.i中
  • gcc -S    只進行編譯,不進行彙編,生成彙編代碼文件.s
  1. gcc -S test.c  //生成test1.s
  2. gcc -S test.i
  3. gcc -S test.i -o test.s    //-o選項用來指定輸出文件名,將test.i編譯之後的彙編代碼放在test.s中
  • gcc -c   可以將每一個源文件編譯成目標文件(.o文件),但不進行鏈接
  1. gcc -c test.c   //生成test.c
  2. gcc -c test.s
  • gcc -o      格式:gcc -o file file.c  將文件file.c編譯成可執行文件file
  1. gcc -o test test.c
  2. gcc -o test test.o
  • gcc -g  在目標代碼中加入供調試程序gdb使用的附加信息
  • gcc -Wall 顯示警告信息
  1. gcc -Wall -o test test.c
  2. gcc  -g  -o  test  test.c
  • 庫(Library)
  1. 靜態庫(.a)文件  在程序的鏈接階段被複制到了程序中(gcc -o test test.c libtest.a)
  2. 動態庫/共享庫(.so)文件  程序在運行時由系統動態加載到內存中供程序調用(gcc -o test test.c libtest.so)
  • gcc優化選項
  1. gcc -O0:缺省情況,不優化
  2. gcc -O1:一級優化
  3. gcc -O2:
  4. gcc -O3:
  • 文件名及其文件類型:

文件名後綴

文件類型

.h

頭文件

 .c

C源文件

.i

預處理後的c源文件

.s

彙編程序文件

.o

目標文件

.a

靜態鏈接庫

.so

動態鏈接庫

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章