娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

[arm學習]makefile學習總結

發(fā)布者:自由探索者最新更新時間:2024-12-04 來源: cnblogs關鍵字:arm學習  makefile 手機看文章 掃描二維碼
隨時隨地手機看文章

makefile不僅僅是一個命令的集合體,其中有一些規(guī)則是需要理解掌握的。

首先,了解makefile的規(guī)則:

//-----------格式----------

目標 : 依賴1,依賴2

(TAP鍵)命令

//-------------------------

1、目標,就是我們想生成的文件。

2、依賴往往是我們已經(jīng)有的文件,是生成目標的必要條件。

3、命令就是利用依賴來產(chǎn)生目標。

命令不是任何情況都可以執(zhí)行的,它是有條件的:

1、目標不存在 or  2、依賴已更新(首先依賴是存在的)。

牛刀小試:

1、編譯和鏈接放一塊了:

hello: hello.c  a.c

gcc -o hello  hello.c  a.c

hello是目標,命令執(zhí)行后會被生成。hello可通過“.hello”執(zhí)行。

gcc 可以理解為是linux中的一個軟件,而 -o 就是軟件中的一個按鍵(選項),hello.c  a.c就是已經(jīng)添加的模塊文件。

這就是命令,就像是你在windows里打開一個軟件,添加文件,然后按下編譯按鈕。命令就是這么一回事。

2、編譯和鏈接分開:

過程分析:首先目標hello 依賴于 hello.o 和 a.o

結果這兩個依賴不存在,那么向下找目標。

發(fā)現(xiàn)目標hello.o,依賴于hello.c(這個是存在的)。滿足目標不存在

那么執(zhí)行命令 gcc -o hello -c hello.c//表示編譯hello.c輸出hello.o但不鏈接。

下邊的同理。。。。。。。

現(xiàn)在兩個.o文件都有了,那么這條命令可以執(zhí)行了:

gcc -o hello  hello.o a.o//鏈接這兩個文件,輸出hello可執(zhí)行文件。

這樣的好處是:

利用規(guī)則:1、目標不存在。or 2、依賴已更新(首先依賴是存在的)。

可以不編譯,沒有修改的文件,從而節(jié)省編譯時間。

最后,還可以簡寫:

分析下:

$@ 表示的是目標(的集合);

$^ 表示的是依賴(的集合);

%.o 表示所有的.o文件

%.c 表示所有的.c文件

$<  表示(目標:后面列表里)第一個依賴!

這里提一點:

1、當我們執(zhí)行make的時候,我們的目的是,參數(shù)該文件的第一個目標,就是hello。所以clean 下的命令并不會執(zhí)行。

2、clean是一個虛擬的目標,并沒有依賴項。我們可以通過 make clean 這個命令去執(zhí)行它下邊這個命令(清楚掉所有的.o文件)

再來看一個復雜一點的:

第一行是什么,意思目前我也不知道,可以把它看成是一個函數(shù),makefile中調用函數(shù)的方式就是”$( ) ”

arm-linux-gcc 就是linux的中的另一個軟件了——交叉編譯器。

何為,交叉編譯?就是在一個平臺編譯,生成一個可以在另一個平臺運行的文件。

具體看看這句:

arm-linux-gcc  $(CFLAGS)  -c  -o  crt0.o  crt0.S

看著“-c  -o  crt0.o  crt0.S”這條命令的順序,你是否感覺奇怪?

如果,你把-c  -o 理解成兩個按鍵,感覺可能好很多。

之所以這么隨意的順序,去寫,是因為這些選項往往有一個特性,就是忽略掉后面自己不需要的文件。

這段makefile以后還會具體分析,今天就到這里~~


關鍵字:arm學習  makefile 引用地址:[arm學習]makefile學習總結

上一篇:arm學習之匯編跳轉指令總結
下一篇:【arm學習】我的第一個裸板程序

推薦閱讀最新更新時間:2025-04-17 15:06

4412ARM開發(fā)板學習筆記(一)
新手在進行開發(fā)學習前,建議先看01-迅為電子開發(fā)板入門視頻。對開發(fā)板和開發(fā)環(huán)境有一定的了解后,不要盲目接線開機。以下是個人的一點經(jīng)驗,和大家分享一下。 補充:這是第一份筆記,主要是提供給剛拿到板子的同學,2、3分鐘就可以看完,避免你走歪路。實際上視頻上都有,我只是整理了一下。之后我大概不定期會陸續(xù)上傳一些我的學習筆記分享給大家,希望大家可以給出建議。以后可以的話會整理一下,打包上傳,也給后來學習的人一個參考,方便大家共勉。 注:我使用的是4412精英版+7寸屏+SCP封裝+2G內存+16G閃存。其他版本可能會有一點點區(qū)別,但不影響學習。 一、開機前檢查: 電源適配器(5V/2A):插到圖上左下角POWER。開發(fā)
[單片機]
4412<font color='red'>ARM</font>開發(fā)板<font color='red'>學習</font>筆記(一)
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 马公市| 蓝山县| 东至县| 乌拉特中旗| 安塞县| 郁南县| 金寨县| 芷江| 随州市| 乌拉特中旗| 河北区| 溆浦县| 南部县| 齐齐哈尔市| 凤城市| 林周县| 海宁市| 雷波县| 涿州市| 古丈县| 民丰县| 江孜县| 邢台县| 商水县| 红河县| 文安县| 颍上县| 揭东县| 盐边县| 台湾省| 铜陵市| 钟祥市| 阿坝县| 景宁| 右玉县| 洛阳市| 富顺县| 广东省| 大安市| 嘉定区| 巨野县|