C語言 makefile學(xué)習(xí)及實現(xiàn)實例
C語言 makefile學(xué)習(xí)及實現(xiàn)實例
俗話說,不會寫makefile的程序員不是好的程序員。
看了很多人寫的makefile教程,感覺太難懂,還不如韋東山老師視頻里講的好理解。
先記下這幾個符號,以后看到就不會忘記這是什么東西了。
先來看一個例子:
<span style="font-size:18px;">Person: main.o person.o g++ -o $@ $^ %.o : %.cpp g++ -c -o $@ $< clean: rm -rf *.o Person</span>
其中:
1、Person表示要生成的目標(biāo)文件。
main.o person.o是依賴文件
所以Person: main.o person.o
這句話的意思就是,要想生成Person這個文件,就要依賴于main.o , person.o這兩個文件。
2、$@ : 表示目標(biāo)文件,這里的目標(biāo)文件就是Person
$^ : 表示目標(biāo)文件后面的所有依賴文件,也就是.o文件
$< : 表示第一個依賴文件,這里的第一個指的就是main.o
3、%.o : %.cpp
%,o : %,cpp前面加%表示通配符,表示通配所有的.o文件還有所有的.cpp文件
4、還有一點要注意,上面g++前面不是空格,而是一個tab,一般情況下,tab是4個空格的大小。
5、clean:
對應(yīng)下面的文件,如果你執(zhí)行make clean,makefile就會幫你清除所有的.o和Person這個目標(biāo)文件。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
C++利用std::forward_list查找插入數(shù)據(jù)方法示例
這篇文章主要給大家介紹了關(guān)于C++利用std::forward_list查找插入數(shù)據(jù)的相關(guān)資料,文中先對std::forward_list進(jìn)行了詳細(xì)的介紹,而后通過示例代碼給大家介紹了查找的方法,需要的朋友可以參考借鑒,下面話不多說了,來一起看看吧。2017-08-08
C++非繼承時函數(shù)成員訪問屬性和類繼承過程中的訪問控制
這篇文章主要介紹了C++非繼承時函數(shù)成員訪問屬性和類繼承過程中的訪問控制,非繼承時,protected成員和private成員沒有任何區(qū)別,都是類內(nèi)部可以直接訪問它們、類外部的類對象不可訪問它們、類內(nèi)部的類對象可以訪問它們,更多詳細(xì)內(nèi)容請參考下面相關(guān)資料2022-03-03
C++ Boost Random隨機(jī)函數(shù)詳解
Boost是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱2022-11-11
一文帶你了解C語言中的動態(tài)內(nèi)存管理函數(shù)
C語言中內(nèi)存管理相關(guān)的函數(shù)主要有realloc、calloc、malloc、free等,這篇文章主要為大家講解一下這四個函數(shù)的具體用法,需要的可以參考一下2023-03-03
Qt實現(xiàn)編輯數(shù)據(jù)庫數(shù)據(jù)的方法詳解
這篇文章主要為大家詳細(xì)介紹了Qt是如何實現(xiàn)編輯數(shù)據(jù)庫數(shù)據(jù)的,文中的示例代碼簡潔易懂,對我們深入了解QT有一定的幫助,感興趣的小伙伴可以了解一下2023-02-02

