欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么掌握Makefile的知識(shí)

今天就跟大家聊聊有關(guān)怎么掌握Makefile的知識(shí),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)技術(shù)團(tuán)隊(duì)十載來致力于為客戶提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作全網(wǎng)整合營(yíng)銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了近千家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。

如果你現(xiàn)在使用 macOS 或者 Linux,那么你可以在終端輸入命令man make,查看make命令的幫助文檔,如下圖所示:

怎么掌握Makefile的知識(shí)

通過make命令,你可以快速運(yùn)行一大段 Shell 命令,從而實(shí)現(xiàn)一鍵編譯代碼,一鍵格式化代碼等等功能。

要學(xué)習(xí) Makefile,你需要有一個(gè)Linux 或者  macOS,然后需要知道兩個(gè)概念:make命令和Makefile文件。其中,Makefile文件是你自己寫的一個(gè)文本文件,它的名字叫做Makefile,不能修改大小寫,只能叫這個(gè)名字。而make是  macOS 和 Linux 中自帶的一個(gè)命令。當(dāng)我們執(zhí)行make命令的時(shí)候,它自動(dòng)讀取Makefile文件,從而決定自己要做什么事情。

我們來看一個(gè)實(shí)際例子。下圖為一段很簡(jiǎn)單的 Golang 代碼:

怎么掌握Makefile的知識(shí)

代碼里面,有一些逗號(hào)后面沒有空格,結(jié)構(gòu)體也寫得參差不齊。當(dāng)我們要格式化一個(gè).go文件的時(shí)候,一般是在當(dāng)前文件夾下面執(zhí)行命令:

gofmt -w xxx.go

運(yùn)行以后,如下圖所示:

怎么掌握Makefile的知識(shí)

你為了執(zhí)行這個(gè)命令,你需要敲15次鍵盤。而且如果你的項(xiàng)目里面有很多個(gè).go文件,并且他們位于不同的文件夾里面,那么你還需要執(zhí)行命令:

find . -name "*.go" | xargs gofmt -w

要敲的鍵盤就更多了。

這個(gè)時(shí)候,我們可以在項(xiàng)目根目錄創(chuàng)建一個(gè)Makefile文件,其內(nèi)容如下:

fmt:  find . -name "*.go" | xargs gofmt -w

如下圖所示:

怎么掌握Makefile的知識(shí)

于是,當(dāng)我們?cè)陧?xiàng)目根目錄執(zhí)行命令:make fmt的時(shí)候,整個(gè)項(xiàng)目里面的所有.go文件都會(huì)被自動(dòng)格式化。

Makefile文件的格式如下:

名字1:  shell 命令1  shell 命令2  shell 命令3 名字2:  shell 命令4  shell 命令5  shell 命令6

其中,名字1 名字2用于執(zhí)行命令make 名字,每一個(gè)名字下面可以跟很多條 Shell 命令。這里看起來有點(diǎn)像是 Python  的縮進(jìn)。但需要特別注意的是,Makefile 的縮進(jìn)只能使用 Tab 鍵,不能使用空格。

我們?cè)賮砼e個(gè)例子,現(xiàn)在,我需要把項(xiàng)目編譯生成一個(gè)可執(zhí)行文件,然后把這個(gè)可執(zhí)行文件連同data.json一起復(fù)制到 一個(gè)叫做 output  的文件夾中。那么,我們的 Makefile 可以這樣寫:

fmt:  gofmt -w *.go  build:  rm -rf output  mkdir output  go build -o JsonReader main.go  mv JsonReader ./output/  cp data.json ./output/

然后,當(dāng)我們執(zhí)行命令make build的時(shí)候,它下面的5行命令就一次性自動(dòng)執(zhí)行了。

再來一個(gè)例子,可能有一些程序開發(fā)完成以后,需要在本地 Docker  環(huán)境里面運(yùn)行。但是如果已經(jīng)有一個(gè)同名容器在運(yùn)行了,我們必須先停止容器,刪除容器,然后才能重新運(yùn)行。但是如果有了  Makefile,這也就是一行命令的事情:

deploy:  docker build -t xxx:latest  docker stop json_reader  docker rm json_reader  docker run --name json_reader --network host -d xxx:latest

除此之外,Makefile 還支持串聯(lián)多個(gè)名字下面的 shell 命令。例如,我想先格式化代碼,然后編譯成可執(zhí)行文件,最后再使用 Docker  部署,那么,我們最終的 Makefile 文件如下圖所示:

怎么掌握Makefile的知識(shí)

此時(shí),我只需要在項(xiàng)目根目錄中執(zhí)行命令make,不帶任何參數(shù),那么,fmt、build和deploy下面的所有 Shell  命令都會(huì)按順序依次執(zhí)行。從而大大減少了我們的工作量。

可以說,無論是 Golang 項(xiàng)目還是 Python 還是其他項(xiàng)目,使用 Makefile 來自動(dòng)化執(zhí)行一些繁瑣重復(fù)的命令,是一個(gè)一勞永逸的事情。

看完上述內(nèi)容,你們對(duì)怎么掌握Makefile的知識(shí)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

當(dāng)前標(biāo)題:怎么掌握Makefile的知識(shí)
URL地址:http://www.aaarwkj.com/article10/iipodo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、自適應(yīng)網(wǎng)站電子商務(wù)、搜索引擎優(yōu)化建站公司、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
日本电影在线看一区二区| 日韩精品亚洲一级在线观看| 欧美国产综合欧美一区二区三区| 91在线免费观看国产精品| 日韩高清午夜片在线观看| 91精品大片免费在线观看| 后入视频国产在线观看| 亚洲欧美二区中文字幕| 亚洲美女插入av网络导航| 国产成人精品久久一区二区三区| 色哟哟网站之中文字幕| 999久久免费精品国产| 亚洲一区二区三区精品福利| 欧美日韩国产另类久久| 亚洲国产熟女导航网站视频| 国产精品毛片av在线| 成人爱爱视频在线免费观看| 日韩性生活视频免费播放| 99热这里在线只有精品| 开心激情欧美一区二区| 成人免费亚洲av在线| 美女诱惑福利视频久久久| 99久久久国产精品日本久久区一 | 中文字幕在线视频黄字幕| 午夜福利大片在线观看视频| 国产成人原创免费观看| 中文字幕三级电影天堂| 欧美一区二区黑人巨大| 丰满人妻中出av在线| 国产夫妻性生活视频播放| 欧美日韩在线视频第三区| 日本熟女视频免费观看| 免费观看久久久激情片| 日本毛茸茸的丰满熟妇| 欧美激情日韩精品久久久| 91伊人久热精品午夜福利| 丰满人妻被黑人猛烈进入| 国产熟女碰碰人人a久久| 成人黄片免费在线播放| 欧美精品久久91九色| 精品人妻人伦一区二区三区|