国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile

這篇具有很好參考價值的文章主要介紹了構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維

一.make/Makefile的介紹

1.理解make/Makefile

編寫Makefile是Linux開發(fā)中一項重要的技能,熟練的運用這個工具能提高編譯效率,幫助你完成大型工程。Makefile帶來的最大好處就是——自動化編譯,一旦將Makefile文件寫好,只需要一個make命令,即可完成預(yù)期的編譯,大大提高了軟件開發(fā)的效率。

二.make/Makefile的使用

1.基本使用

下面我來簡單演示下其功能:
例如現(xiàn)在mycode.c文件下編寫了如此代碼:
構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維
正常情況下我們想要編譯這段代碼,會進行這樣的操作:
構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維
如此一行在只需編譯一個文件時倒也不麻煩,但是在以后進行更大規(guī)模的開發(fā)時,一句一文件的編譯就顯得繁瑣。這時就能用上我們自動化構(gòu)建工具make/Makefile了。首先我們在同目錄下創(chuàng)建Makefile文件用來編寫依賴關(guān)系與方法:
構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維
其中的clean可以方便刪除生成的文件:
現(xiàn)在我們再想編譯mycode.c只需輸入命令make即可:
構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維

2.PHONY

接下來在我想要多次編譯時,其給出了這樣的提示:
構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維
他說mycode可執(zhí)行文件已經(jīng)是最新的了,沒有必要再次編譯生成。我們知道文件包括文件內(nèi)容和文件屬性,其中修改時間是文件的重要屬性。而自動化構(gòu)建工具為了提升編譯效率做了規(guī)定:當源文件的修改時間新與可執(zhí)行文件時,說明源文件進行了修改,會重新進行編譯,反之不會。
構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維
我們在修改過mycode.c的內(nèi)容后,利用stat命令查看文件屬性可以觀察到,修改時間發(fā)生了變化,這是就可以在使用make再次編譯生成了。

Modify:文件內(nèi)容(修改內(nèi)容會更新)
Change:文件屬性(如文件權(quán)限)
Access:訪問文件

那如果我們不想通過比較時間直接能編譯文件該如何操作呢?這里就要了解到PHONY
PHONY修飾的稱為偽目標,其特點就是總是被執(zhí)行的。
構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維

構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維
PHONY使得某個依賴關(guān)系總是被執(zhí)行。

3.特殊符號拓展

我們可以使用 $^ 代替依賴關(guān)系中冒號右邊的文件$@ 代表冒號左邊的文件 如果冒號右邊有多個文件時可以用 $< 代表第一個文件:
構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維

構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維
從上圖我們可以看到輸入make命令后,會顯示我們編寫的依賴方法,如果我們不想顯示,可以怎么操作呢?
構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維
這樣再進行操作時就不會有任何提示了。
構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile,Linux入門,linux,自動化,運維文章來源地址http://www.zghlxwxcb.cn/news/detail-519267.html

到了這里,關(guān)于構(gòu)建無憂:探索 Linux 項目自動化構(gòu)建神器-make/Makefile的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Linux--自動化的構(gòu)建項目:make、Makefile

    Linux--自動化的構(gòu)建項目:make、Makefile

    make是一個命令 Makefile是一個文件 Makefile的構(gòu)成: ①依賴關(guān)系 ②依賴方法 編寫Malefile文件的最終目標是生成項目,換句話說就是,想讓Makefile把我的源代碼編譯,自動形成可執(zhí)行文件 示例: 注:.PHONY這個的作用是,修飾對象總是被執(zhí)行(例如:即使已刪除,但依舊可以

    2024年02月12日
    瀏覽(16)
  • 【Linux】項目自動化構(gòu)建工具make/makefile

    【Linux】項目自動化構(gòu)建工具make/makefile

    ???作者:@malloc不出對象 ?專欄:Linux的學習之路 ??個人簡介:一名雙非本科院校大二在讀的科班編程菜鳥,努力編程只為趕上各位大佬的步伐???? 本篇文章我們將要講解的是項目自動化構(gòu)建工具make與makefile。 一、make/makefile的背景 會不會寫makefile,從一個側(cè)面說明了一

    2024年02月03日
    瀏覽(19)
  • Linux:項目自動化構(gòu)建工具——make/Makefile

    Linux:項目自動化構(gòu)建工具——make/Makefile

    前言: 本章主要內(nèi)容有認識與學習 Linux 環(huán)境下如何使用項目自動化構(gòu)建工具—— make/makefile 。 當我們編寫一個較大的軟件項目時,通常需要將多個源文件編譯成可執(zhí)行程序或庫文件。為了簡化這個過程,我們可以使用 make 工具和 Makefile 文件。 Makefile 文件可以幫助我們 自動

    2024年02月13日
    瀏覽(30)
  • 【Linux】項目自動化構(gòu)建工具-make/Makefile

    【Linux】項目自動化構(gòu)建工具-make/Makefile

    會不會寫makefile,從一個側(cè)面說明了一個人是否具備完成大型工程的能力 一個工程中的源文件不計數(shù),其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進行更復雜

    2023年04月09日
    瀏覽(25)
  • Jenkins自動化構(gòu)建部署前端項目(Linux+gitee)

    Jenkins自動化構(gòu)建部署前端項目(Linux+gitee)

    本文講述了Jenkins自動化構(gòu)建部署前端項目,內(nèi)容包括Linux系統(tǒng)安裝Jenkins、如何配置構(gòu)建項目并發(fā)布到目標服務(wù)器。 因公司系統(tǒng)項目眾多,前端項目打包麻煩,項目代碼管理混亂,因此需要gitee+Jenkins做自動化構(gòu)建,優(yōu)化項目打包流程及代碼管理。 本次教程可實現(xiàn)最簡單的自動

    2024年02月03日
    瀏覽(27)
  • 【Linux】項目自動化構(gòu)建工具——make/Makefile及拓展

    【Linux】項目自動化構(gòu)建工具——make/Makefile及拓展

    1、背景知識 一個工程中的源文件不計數(shù),其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進行更復雜的功能操作 makefile帶來的好處就是——“自動化編譯”,一旦

    2023年04月27日
    瀏覽(23)
  • 【Linux】Linux下的項目自動化構(gòu)建工具——make和makefile

    【Linux】Linux下的項目自動化構(gòu)建工具——make和makefile

    ? ? ? ? 大家好,好久不見!今天小獅子為大家?guī)淼奈恼率且黄P(guān)于Linux下的項目自動化構(gòu)建工具——make和makefile的博客,希望能幫助到大家。 ? ? ? ? 當我們進行涉及多文件的工程開發(fā)時,我們需要對很多不同類型、不同功能,存在于不同目錄下的源文件進行編譯操作,

    2024年02月13日
    瀏覽(34)
  • Linux項目自動化構(gòu)建工具-make/Makefile以及git三板斧

    Linux項目自動化構(gòu)建工具-make/Makefile以及git三板斧

    是否會寫make/makefile,從側(cè)面反映了一個程序員是否具備完成大型工程的能力。一個工程中的源文件不計數(shù),其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進行更

    2024年02月16日
    瀏覽(27)
  • Linux工具【2】(調(diào)試器gdb、項目自動化構(gòu)建工具make/Makefile)

    Linux工具【2】(調(diào)試器gdb、項目自動化構(gòu)建工具make/Makefile)

    在上一篇文章中介紹了Linux中的編輯器vim與編譯器gcc與g++: 戳我看vim與gcc詳解哦 在本篇文章中將繼續(xù)來介紹Linux中的工具: 調(diào)試器gdb與項目自動化構(gòu)建工具make/Makefile 在Windows環(huán)境中,我們使用vs時,常常會逐過程與逐語句地調(diào)試代碼以更高效地尋找到錯誤的位置。在Linux中也

    2024年02月12日
    瀏覽(24)
  • 【Linux】Linux編譯器-gcc/g++ && Linux項目自動化構(gòu)建工具-make/Makefile

    【Linux】Linux編譯器-gcc/g++ && Linux項目自動化構(gòu)建工具-make/Makefile

    目錄 Linux編譯器-gcc/g++使用 1.背景知識 ?Linux中頭文件的目錄在 Linux 庫 條件編譯的典型應(yīng)用 2.gcc如何完成 動態(tài)庫 vs 靜態(tài)庫 debug release Linux項目自動化構(gòu)建工具-make/Makefile 背景 用法 特殊符號? 預(yù)處理(去注釋,頭文件展開,條件編譯,宏替換) 編譯(生成匯編) 匯編(生成

    2024年02月20日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包