歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux 用Makefile編譯C代碼

Linux 用Makefile編譯C代碼

日期:2017/3/1 9:07:02   编辑:Linux編程

在Linux裡寫C語言代碼一般用gcc編譯,如果是一些小的程序可以使用gcc命令編譯,但是當我們寫一個大的項目的時候,我們總會把頭文件,主函數,子函數等分別放到一個文件裡,這樣可以讓代碼看起來沒有那麼長,在排錯的時候會更方便一點。可是問題又來了,那麼多文件,如果每一個文件都要用gcc -c text.c -o text.o來編譯又太過於麻煩,尤其是在每一次排錯後重新編譯的時候讓人有一種崩潰的感覺,所以這個時候用Makefile來編譯 .C程序的時候就會方便很多。

在這篇文章裡以實現strcmp函數功能作為例子:

先寫test.h文件:

main函數文件:

Cmp函數文件:

最後要寫Makefile文件:

這裡因為這個例子程序還是比較短所以直接以文件名來寫命令,在以後的大項目中可以用宏定義的方式替換這些文件名,這樣在修改的時候會提供很大的便利。

這個時候在這個文件所在的目錄下只要輸入 make 命令就可以順利編譯,如果要修改的時候,只要 make clean 就可以將編譯後的文件都刪除,如果目錄中本來就已經存在clean文件的時候,我們可以用

.PHONY:clean

clean:

rm -rf *.o test

就可以讓編譯器只識別Makefile中的clean命令。

Copyright © Linux教程網 All Rights Reserved