1. 程式人生 > >如何將多個C檔案連結在一起----Makefile編寫及make指令

如何將多個C檔案連結在一起----Makefile編寫及make指令

需使用GCC編譯器,關於MinGW的安裝指南:https://people.eng.unimelb.edu.au/ammoffat/teaching/20005/Install-MinGW.pdf


 

單個.c檔案且沒有使用自定義標頭檔案的編譯,在命令列:

       • gcc -o programName program.c

              -o後緊跟生成程式名

              其餘常用選項:

                     -Wall      顯示全部警告資訊

                     -g        產生帶除錯資訊的編譯後目的碼,供偵錯程式(如gdb使用)

                     -c    僅編譯

                    

       • make program                   預設和.c同名,使用.c的名字

      

如果在.c檔案中使用了自定義標頭檔案,要將多個.c和.h檔案組合生成程式則要使用Makefile,然後在命令列使用make命令。

Makefile編寫:

       1. 建立名為Makefile的檔案(沒有後綴名),放在和程式一個資料夾。

       2. 對Makefile檔案進行編寫。

              例子:P3.1.c中用到了bst.h

                     bst.c中用到了bst.h, llqueue.h

                     llqueue.h中用到了llqueue.h

             

 

              P3.1:llqueue.o P3.1.o bst.o

                     gcc -Wall -o P3.1 P3.1.o bst.o llqueue.o -g

             

              P3.1.o:bst.h P3.1.c

                     gcc -Wall -c P3.1.c -g

             

              bst.o:bst.c bst.h llqueue.h

                     gcc -Wall -c bst.c -g

             

              llqueue.o:llqueue.c llqueue.h

                     gcc -Wall -c llqueue.c -g

              注意gcc前是Tab間隔,不是空格間隔。

              每個 : 後的順序可變。

             

如果上傳到學校unix上顯示permission denied

使用命令chmod 777 檔名