色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【Makefile】簡(jiǎn)單介紹

_light ? 來(lái)源:_light ? 作者:_light ? 2022-11-18 10:22 ? 次閱讀

基本規(guī)則

makefile的規(guī)則,一般由以下組成

目標(biāo): 依賴(lài)列表
	命令列表

1、其中第一條規(guī)則中的”目標(biāo)“,將會(huì)成為終極目標(biāo)。我們最終目的,就是為了生成這個(gè)目標(biāo)的

2、每一個(gè)規(guī)則中的目標(biāo)。都可以是一個(gè)文件,也可以是一個(gè)標(biāo)簽

3、每一個(gè)規(guī)則中的目標(biāo),不一定要有依賴(lài)

目標(biāo):
	命令列表

此時(shí)的目標(biāo),我們成為”偽目標(biāo)“

4、每一個(gè)規(guī)則,也不一定有命令列表

案例

假設(shè)我們有三個(gè).c源文件,main.c、f1.c、f2.c

f1.c

#include "stdio.h"

void f1()

{

printf("This is f1
);

}

f2.c

#include "stdio.h"

void f2()

{

printf("This is f2
);

}

然后我們?cè)趍ain里面調(diào)用f1與f2這兩個(gè)函數(shù),接著編譯、運(yùn)行即可

下面我們編寫(xiě)一下Makefile

target:main.c f1.c f2.c
	gcc f1.c f2.c main.c

輸入命令 make 即可完成編譯

如果不想打印出gcc f1.c f2.c main.c這條命令,可以在Makefile文件中的命令列表前加上一個(gè)@符號(hào)

變量

創(chuàng)建變量,與shell類(lèi)似

number = '56',此時(shí),變量number的值就是56,

可以使用echo驗(yàn)證: echo &$number

其中這個(gè)符號(hào)$就是使用已聲明的變量

變量的三種賦值方式

第一種:'=' 稱(chēng)為”延時(shí)展開(kāi)賦值“
	例如:
		temp = $number
		number = '56'
	此時(shí)你輸出'temp'等于56,所謂延時(shí)展開(kāi)賦值就是當(dāng)number成功賦值之后,再把number的值賦給temp
第二種:':='稱(chēng)為”立即展開(kāi)賦值“
    例如:
		temp := $number
		number = '56'
	此時(shí)你輸出'temp'就為空
第三種:'?='稱(chēng)為條件賦值
	例如:
		temp ?= $number
	假如在這之前沒(méi)有給變量temp賦過(guò)值,那么就會(huì)把number的值賦給temp,反之就不會(huì)把number的值賦給temp

特殊變量

$@: 當(dāng)前規(guī)則中的目標(biāo)

$^: 當(dāng)前規(guī)則中的所有依賴(lài)

$<: 當(dāng)前依賴(lài)中的第一個(gè)

$$: 當(dāng)前執(zhí)行的進(jìn)程的進(jìn)程編號(hào)

$*: 模式規(guī)則中的所有%匹配的部分

$?: 模式規(guī)則中所有比所在規(guī)則中的目標(biāo)更 新的文件組成的列表

下面借助變量?jī)?yōu)化一下上述案例的Makefile

SOURCE=main.c f1.c f2.c
target:$(SOURCE)
	gcc $^

模式規(guī)則

%.o: %.c
	gcc -c $<

%.c會(huì)匹配.c文件前面的部分,相當(dāng)于shell中的*.c

模式規(guī)則執(zhí)行時(shí),是一個(gè)循環(huán)取出的過(guò)程,每次取出一個(gè).c,調(diào)用命令生成對(duì)應(yīng)的.o

模式規(guī)則舉例

#strat
TARGET = a.out
SRCS = main.c

$(TARGET): $(SRCS:.c = .o)
	gcc $^ -o $@
#$(SRCS:.c=.o) 可以理解為目標(biāo)所依賴(lài)文件是由.c文件生成的.o文件

#模式規(guī)則
%.o: %.c
	gcc -c $<   #模式規(guī)則每次取出一個(gè),所以這里用$<

#end

寫(xiě)Makefile系列的文章是做個(gè)筆記,為了以后方便復(fù)習(xí),里面應(yīng)該有許多BUG,等學(xué)一段時(shí)間后會(huì)繼續(xù)完善

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Makefile
    +關(guān)注

    關(guān)注

    1

    文章

    125

    瀏覽量

    19625
收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    linux系統(tǒng)中Makefile的使用方法

    的基礎(chǔ)用法講起,逐步深入到更高級(jí)的應(yīng)用,為你呈現(xiàn)一個(gè)全面而詳細(xì)的Makefile使用手冊(cè)。 第一:Makefile的基本結(jié)構(gòu) 一個(gè)最簡(jiǎn)單Makefile包含規(guī)則,規(guī)則由目標(biāo)(targ
    的頭像 發(fā)表于 05-11 08:49 ?1296次閱讀

    關(guān)于Makefile自動(dòng)生成-autotools的使用

    Makefile并非日常任務(wù),但遇見(jiàn)需要構(gòu)建大型軟件項(xiàng)目時(shí),利用工具自動(dòng)生成Makefile就顯得尤為關(guān)鍵。接下來(lái),我們將重點(diǎn)介紹一款自動(dòng)化構(gòu)建工具——Autoto
    的頭像 發(fā)表于 07-25 15:50 ?1785次閱讀
    關(guān)于<b class='flag-5'>Makefile</b>自動(dòng)生成-autotools的使用

    駕馭Makefile

    駕馭Makefile在網(wǎng)上你能找到很多關(guān)于Makefile的學(xué)習(xí)資料,但絕大部分給你的只是一個(gè)知識(shí)點(diǎn),與將Makefile運(yùn)用到項(xiàng)目中(尤其是大型項(xiàng)目)的差距非常的大。因?yàn)?,?b class='flag-5'>Makefile
    發(fā)表于 01-05 17:05 ?9次下載

    關(guān)于Linux 2.6內(nèi)核Makefile的分析

    介紹文章都是基于2.4內(nèi)核的,可以說(shuō)關(guān)于2.6內(nèi)核Makefile相關(guān)的文章鳳毛麟角,筆者抽時(shí)間完成了這篇分析文章,讓讀者迅速熟悉Linux最新Makefile體系,從而加深對(duì)內(nèi)核的理解,同時(shí)也希望能
    發(fā)表于 11-02 10:12 ?1次下載

    linux makefile教程

     什么是makefile?或許很多Winodws的程序員都不知道這個(gè)東西,因?yàn)槟切¦indows的IDE都為你做了這個(gè)工作,但我覺(jué)得要作一個(gè)好的和professional的程序員,makefile
    發(fā)表于 11-12 09:11 ?5638次閱讀

    makefile的基本語(yǔ)法

     在Makefile中,最重要的三個(gè)概念是:目標(biāo)(target)、依賴(lài)關(guān)系(dependency)和命令(command)。目標(biāo)是指要干什么,即運(yùn)行make后生成什么;依賴(lài)是指明目標(biāo)所依賴(lài)的其他目標(biāo);命令則告訴make如何生成目標(biāo),這三個(gè)概念是通過(guò)Makefile中的規(guī)則
    發(fā)表于 11-12 10:15 ?1.2w次閱讀

    Makefile是什么?Makefile工作原理是怎樣的?Makefile經(jīng)典教程免費(fèi)下載

    Makefile的重要性 會(huì)不會(huì)寫(xiě)makefile,從一個(gè)側(cè)面說(shuō)明了一個(gè)人是否具備完成大型工程的能力 makefile帶來(lái)的好處就是——“自動(dòng)化編譯”,一旦寫(xiě)好,只需要一個(gè)make命令,整個(gè)工程完全自動(dòng)編譯,極大的提高了軟件
    發(fā)表于 09-12 17:19 ?0次下載
    <b class='flag-5'>Makefile</b>是什么?<b class='flag-5'>Makefile</b>工作原理是怎樣的?<b class='flag-5'>Makefile</b>經(jīng)典教程免費(fèi)下載

    Linux關(guān)于Makefile的用法介紹

    Make可以從一個(gè)名為Makefile的文件中獲得如何構(gòu)建程序的知識(shí),該文件列出了每個(gè)非源文件以及如何從其他文件計(jì)算它。當(dāng)你編寫(xiě)一個(gè)程序時(shí),你應(yīng)該為它編寫(xiě)一個(gè)Makefile文件,這樣就可以使用Make來(lái)編譯和安裝這個(gè)程序。
    發(fā)表于 12-24 10:36 ?1991次閱讀

    Makefile的項(xiàng)目模板免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Makefile的項(xiàng)目模板免費(fèi)下載 可根據(jù)項(xiàng)目名稱(chēng)修改。
    發(fā)表于 06-12 08:00 ?11次下載
    <b class='flag-5'>Makefile</b>的項(xiàng)目模板免費(fèi)下載

    Linux內(nèi)核的Makefile、Kconfig和.config文件

    問(wèn)題都和Makefile、Kconfig、.config有關(guān),下面簡(jiǎn)單談?wù)?b class='flag-5'>Makefile、Kconfig和.config。希望對(duì)你有啟發(fā)。 三者的作用: 簡(jiǎn)單來(lái)說(shuō)就是去飯店點(diǎn)菜:Kc
    的頭像 發(fā)表于 11-12 17:31 ?3328次閱讀

    芯片設(shè)計(jì)中的Makefile簡(jiǎn)單教程

    Makefile可以根據(jù)指定的依賴(lài)規(guī)則和文件是否有修改來(lái)執(zhí)行命令。常用來(lái)編譯軟件源代碼,只需要重新編譯修改過(guò)的文件,使得編譯速度大大加快。
    的頭像 發(fā)表于 12-24 17:41 ?1147次閱讀

    嵌入式中的Makefile應(yīng)用

    文章目錄一.Makefile 引入二. Makefile語(yǔ)法1.通配符2.假象目標(biāo)3.變量三.Makefile函數(shù)四.實(shí)例本文主要總結(jié)一下嵌入式開(kāi)發(fā)中的Makefile,一般項(xiàng)目中都需
    發(fā)表于 11-03 17:06 ?11次下載
    嵌入式中的<b class='flag-5'>Makefile</b>應(yīng)用

    交叉編譯鏈下的Makefile(STM32F4xx)

    arm-none-eabi- 在 Makefile 中的應(yīng)用過(guò)程,對(duì)比于嵌入式可視編譯器 keil_v5 有什么共同點(diǎn),編譯思維是怎樣的,并完成一個(gè)簡(jiǎn)單項(xiàng)目的Makefile編寫(xiě)。
    發(fā)表于 12-04 12:36 ?7次下載
    交叉編譯鏈下的<b class='flag-5'>Makefile</b>(STM32F4xx)

    Makefile簡(jiǎn)單實(shí)用的Makefile模板來(lái)了

    【Linux + Makefile簡(jiǎn)單實(shí)用的Makefile模板來(lái)了
    的頭像 發(fā)表于 08-31 12:46 ?2136次閱讀
    【<b class='flag-5'>Makefile</b>】<b class='flag-5'>簡(jiǎn)單</b>實(shí)用的<b class='flag-5'>Makefile</b>模板來(lái)了

    Makefile】函數(shù)介紹

    Makefile 中調(diào)用函數(shù)的方法跟變量的使用類(lèi)似,以“**()”或“**{}”符號(hào)包含函數(shù)。
    的頭像 發(fā)表于 11-18 10:23 ?1134次閱讀
    主站蜘蛛池模板: 国产亚洲精品香蕉视频播放 | 这里只有精品网 | 久久国产成人午夜AV影院无码 | 亚洲欧美色综合影院 | 国产无遮挡又黄又爽在线视频 | 色一情一乱一伦一区二区三区 | 伊人天天躁夜夜躁狠狠 | 男污女XO猛烈的动态图 | 9277在线观看免费高清完整版 | 国产1广场舞丰满老女偷 | 国语自产视频在线 | yy8090理论三级在线看 | 99久久久无码国产精品免费人妻 | 久久精品天天爽夜夜爽 | 城中村快餐嫖老妇对白 | 国产亚洲va在线电影 | 国产成人8x视频一区二区 | 国产精品人妻无码久久久蜜桃 | 国拍在线精品视频免费观看 | 在线AV国产传媒18精品免费 | 娇喘嗯嗯 轻点啊视频福利 娇喘高潮教室h | 亚洲精品免费观看 | 国产99网站 | 国产亚洲精品在线视频 | 极品内射少妇精品无码视频 | 爽爽影院线观看免费 | 国产成人精品视频播放 | 狠狠干2022| 午夜精品久久久久久久99蜜桃 | 精品国产午夜福利在线观看蜜月 | 亚洲AV久久久噜噜噜噜 | 久久91精品国产91久 | 女教师二十三歳 | 成人影院久久久久久影院 | 97人妻碰视频在线观看 | 儿子操妈妈视频 | 国产学生在线播放精品视频 | 久久精品AV麻豆 | 国产在线精品国自产拍影院午夜 | 日本高清不卡一区久久精品 | 2019中文字幕乱码免费 |

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品