如何將多個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 檔名