多檔編譯

  1. 假設有一些標頭檔案 a.h、b.h 和 c.h,以及 C 原始碼檔案 main.c、2.c 和 3.c。
    1. 下載測試檔案。
      [dywang@dyw219 zzz]$ wget http://dywang.csie.cyut.edu.tw/dywang/download/make1.tar.gz
      
    2. 解打包壓縮測試檔 make1.tar.gz。
      [dywang@dyw219 zzz]$ tar zxvf make1.tar.gz 
      make1/
      make1/main.c
      make1/b.h
      make1/c.h
      make1/2.c
      make1/3.c
      make1/a.h
      
  2. 如何讓程式可以執行?
    1. 切換工作目錄到 make1。
      [dywang@dyw219 zzz]$ cd make1 
      [dywang@dyw219 make1]$
      
    2. 先編譯所有 .c 檔產生 .o 檔。
      [dywang@dyw219 make1]$ gcc -c main.c 
      [dywang@dyw219 make1]$ gcc -c 2.c
      [dywang@dyw219 make1]$ gcc -c 3.c
      
    3. 再由 .o 檔產生可執行檔。
      [dywang@dyw219 make1]$ gcc -o main main.o 2.o 3.o
      
    4. 執行程式 main。
      [dywang@dyw219 make1]$ ./main 
      2222[dywang@dyw219 make1]$