作為乙個服務端的程式設計師,在linux下不會寫makefile那就就不能算服務端程式了。最近在重新學c/c++,寫了乙個簡單的雙向鍊錶,到寫makefile的時候卡住了,太久沒寫,都忘記了,趕緊上網查了點資料,了解簡單寫法,特別在這裡記錄一下。
先介紹下檔案結構,當前目錄下有個main.cpp,有兩個目錄,include和src,include下有乙個檔案叫linked_list.h,src下有乙個檔案叫linked_list.cpp,現在我要寫乙個編譯出main的可執行檔案的makefile,內容如下:
main: main.o linked_list.o
g++ -o main main.o linked_list.o
main.o: main.cpp include/linked_list.h
g++ -c main.cpp
linked_list.o: src/linked_list.cpp include/linked_list.h
g++ -c src/linked_list.cpp
clean:
rm -f main main.o linked_list.o
首先,大家都知道makefile的規則格式:
target:prerequisites
command
makefile的工作原理就是根據
target找對應的prerequisites
,然後執行下面的command來生成。那上面的語法就很好理解了,我要生成main檔案,那麼我依賴main.o和linked_list.o檔案,下面幾行有生成這兩個.o檔案的規則,clean是為了如果你需要重新編譯,不需要手動刪除這些檔案,直接make clean就行了,上面就是乙個簡單的makefile的寫法。
懂得上面的寫法,基本上寫makefile就什麼問題了,但是大家也發現,檔案少還好,檔案一多,專案一大,按照上面的寫法得累死,就算是慢慢加上去的,但是後期維護起來很困難,makefile有更加高階和正規的寫法,我暫時不會,等我學會了,我會在更新一篇文章。
這裡推薦2本書,《跟我一起寫 makefile》和《gnu makefile中文手冊》(我都還沒看...)
如何寫 makefile檔案
如何寫 makefile檔案 學習別人的程式就面臨著重寫makefile的問題.下面以問答的形式來解釋如何寫makefile檔案.1.makefile的核心 target.目標檔案 object檔案 可執行檔案 標籤 prerequisites 生成target所需要的檔案,也可以是target中的...
簡單的SQL語句如何寫
use master 是首先進入系統資料庫 如果存在某個資料庫刪除這個資料庫 圖示是如果存在 digitalproductshop這個資料庫就刪除它 講位置調到當前資料庫 建立表create table 表中內容 向表中插入資料 語法insert into 表名 values 要插入的資料 查詢某個...
python函式如何寫 python如何寫函式
python函式的定義 定義函式,也就是建立乙個函式,可以理解為建立乙個具有某些用途的工具。定義函式需要用 def 關鍵字實現,具體的語法格式如下 def 函式名 形參列表 由零條到多條可執行語句組成的 塊 return 返回值 其中,用 括起來的為可選擇部分,即可以使用,也可以省略。此格式中,各部...