亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

第三課 Makefile文件的制作(上)

2024-06-28 13:25:17
字體:
來源:轉載
供稿:網友
第三課 Makefile文件的制作(上)1.序言:

  前面的課程講解了從gcc編譯過程到其實踐,大家可以看到其實在這些步驟中有些是可以簡化編譯的,但由于參數多以及項目中文件數量多的原因難免會造成錯誤甚至是浪費大量的時間在這編譯上,為此linux系統中專門也有這個工具:makefile。

2.原理:

  其實本質Makefile文件(通常開頭是大寫M)就是一個shell文件通過指定的規則來編譯文件。知識點如下:

  makefile工具是通過其規則來執行命令,一般其內容分為宏定義以及命令。簡單的宏定義在最后講解下,這先講命令格式:

  target ... : PRerequisites ...    command

  其中target就是目標文件可以是.o文件也可以是可執行文件;

  prerequisites是生成target所需要的依賴文件,可以是代碼文件,也可以是目標文件;

  command就是makefile執行的命令,這里之前忘記了多謝崔好好的提醒,一定是要開Tab鍵開始后輸入,后面回復也有;

  本文就講解一下makefile工具的使用。

3.實踐:

  這節課中使用上節課原有的文件calc.c、calc.h、calcmain.c3個文件(不知道請回看),先清空掉其它文件,,再創建Makefile文件,步驟如下:

  1>創建Makefile文件,并輸入如下內容:
calc:calc.o calcmain.o     gcc -Wall calc.o calcmain.o -o calccalcmain.o:calcmain.c     gcc -Wall -c calcmain.c -o calcmain.ocalc.o:calc.c     gcc -Wall -c calc.c -o calc.o.PHONY:cleanclean: rm calc.o calcmain.o calc

  上面代碼其中第一行:

  calc:calc.o calcmain.o:calc為生成的可執行文件對應規則的target;而calc.o calcmain.o是生成calc文件的依賴文件;
         gcc -Wall calc.o calcmain.o -o calc:這就是依賴條件滿足執行的命令;   同理calcmain.o:calcmain.c:calcmain.o這個目標文件要依賴于calcmain.c文件,注明:如果單修改了calcmain.c源文件,那么可用make calcmain.o和make calc命令執行生成此目標文件操作后鏈接生成可執行文件
         gcc -Wall -c calcmain.c -o calcmain.o:生成目標文件;   最后clean是偽目標,通常情況下在其前面加上如下防止當前目錄有相同的指令:
.PHONY:clean
  2>現在這個Makefile文件制作好,直接輸入命令make就可以完成編譯工作:
make

  如果想刪除相關生成的文件執行:

make clean

  如果單修改了calcmain.c源文件,那么單生成calcmain.o文件,在鏈接成可執行文件,執行如下:

make clacmain.omake calc

  這樣在項目文件多的時候就可以省掉很多時間了!這個命令一敲很爽吧,哈哈。。。。。。

3>細心的讀者就可以想到了:竟然Makefile是shell文件,不能用變量來替換其內容多次出現的問題,這個問題真好其實這就是接下來講的部分了。 Makefile文件第一行的calc:calc.o calcmain.o如果把后面的目標文件使用變量的話是不是可以減少維護量啊,如果可執行文件也用變量替換是不是也可以啊,這2個問題現在解決下,新版的Makefile文件如下:
EXE=calcOBJECTS=calcmain.o calc.o $(EXE):$(OBJECTS)       gcc -Wall $^ -o $EXEcalcmain.o:calcmain.c      gcc -Wall -c $< -o $@calc.o:calc.c      gcc -Wall -c $< -o $@clean:      rm -f $(EXE) $(OBJECTS)

  這樣使用一些預定義變量如$^就是所有依賴文件;$<就是依賴的第一個文件;$@就是當前的target對象。這樣在文件較多時候就比較好維護了。

  這節課就講到這里,還有一些如預定義變量可以自己網上找找看看。
上一篇:LVS概述

下一篇:OpenWRT 編譯教程

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲天堂av综合网| 色黄久久久久久| 亚洲精品自拍第一页| 国产视频亚洲精品| 精品亚洲一区二区三区在线播放| 欧美日韩在线视频观看| 国产成人精品一区| 久久久国产成人精品| 2024亚洲男人天堂| 国产91精品高潮白浆喷水| 亚洲最大成人免费视频| 亚洲精品永久免费| 美日韩精品免费观看视频| 久久中文字幕在线视频| 91精品在线观看视频| 亚洲精品在线视频| 日韩成人av在线播放| 丝袜情趣国产精品| 久久九九免费视频| 亚洲精品美女久久| 国产成人一区三区| 68精品国产免费久久久久久婷婷| 国产美女被下药99| 在线视频日韩精品| 最近2019中文字幕一页二页| 琪琪第一精品导航| 午夜精品免费视频| 2019中文字幕在线观看| 国产成人福利夜色影视| 91美女福利视频高清| 久久不射电影网| 91精品久久久久久久久久入口| 国产精品一区二区三区久久久| 欧美伊久线香蕉线新在线| 亚洲伊人一本大道中文字幕| www国产精品com| 欧美孕妇性xx| 国产午夜精品全部视频播放| 精品国产电影一区| 亚洲欧美国产日韩中文字幕| 国产成人97精品免费看片| 日韩在线观看高清| 日韩电影大全免费观看2023年上| 国产日韩欧美电影在线观看| 国产精品免费一区豆花| 欧美激情精品久久久久久大尺度| 亚洲欧美激情另类校园| 欧美电影免费播放| 久久精品中文字幕电影| 欧美激情一级欧美精品| 国产精品视频999| 日本中文字幕久久看| 久久伊人91精品综合网站| 免费91麻豆精品国产自产在线观看| 日韩av大片免费看| 国产精品爽黄69天堂a| 国产精品爱啪在线线免费观看| 日本最新高清不卡中文字幕| 国产精品盗摄久久久| 国产区精品在线观看| 亚洲精品一区二区三区不| 九色91av视频| 亚洲性视频网址| 精品女厕一区二区三区| 国模精品系列视频| 亚洲黄色成人网| 亚洲伊人一本大道中文字幕| 成人免费看片视频| 有码中文亚洲精品| 国产第一区电影| 久久久91精品国产| 亚洲精品之草原avav久久| 色偷偷av一区二区三区| 国产精品久久二区| 98精品国产自产在线观看| 国产精品永久免费| 久久精品国产亚洲精品| 国产成人精品一区二区在线| 国产精品久久中文| 57pao国产成人免费| 欧美黑人xxxⅹ高潮交| 日韩精品日韩在线观看| 51视频国产精品一区二区| 91sa在线看| 亚洲欧美制服第一页| 亚洲国产欧美自拍| 欧美日韩激情视频8区| 另类美女黄大片| 亚洲一区av在线播放| 在线观看亚洲视频| 亚洲在线免费观看| 国产精品三级美女白浆呻吟| 久久久久久久成人| 亚洲一区亚洲二区| 伊人久久综合97精品| 亚洲精品久久久久中文字幕欢迎你| 欧美视频免费在线观看| 高清欧美性猛交xxxx| 亚洲午夜激情免费视频| 黑人巨大精品欧美一区二区一视频| 国产精品扒开腿做爽爽爽的视频| 成人综合网网址| 亚洲视频自拍偷拍| 一区二区三区国产在线观看| 国产97在线观看| 亚洲福利在线播放| 欧美黄色免费网站| 欧美亚洲视频在线看网址| 欧美激情一区二区三区高清视频| 国产日韩欧美在线视频观看| 亚洲精品久久久久久久久久久久久| 欧美最猛性xxxx| 色偷偷亚洲男人天堂| 国产成人综合精品在线| 91老司机在线| 日韩欧美精品在线观看| 国产精品久久久久久久天堂| 日韩美女在线看| 日本精品一区二区三区在线播放视频| 日韩av在线网页| 亚洲日本aⅴ片在线观看香蕉| 久久91精品国产91久久久| 日本久久亚洲电影| 欧美性生交xxxxx久久久| 奇米一区二区三区四区久久| 久久国产精品偷| 亚洲a在线播放| 日韩欧美亚洲国产一区| 亚洲综合视频1区| 色综合色综合网色综合| 久久成年人视频| 91精品在线观看视频| 欧美成人小视频| 国产精品美女999| 亚洲国产中文字幕在线观看| 91亚洲精品一区二区| 欧美黑人巨大xxx极品| 久久久亚洲精选| 国产网站欧美日韩免费精品在线观看| 国产精品成人一区二区三区吃奶| 国产亚洲人成a一在线v站| 北条麻妃一区二区三区中文字幕| 国产精品一区二区av影院萌芽| 国模叶桐国产精品一区| 1769国内精品视频在线播放| 亚洲精品小视频在线观看| 国产亚洲激情视频在线| 日韩经典中文字幕在线观看| 亚洲精品一区二区三区婷婷月| 国产精品入口日韩视频大尺度| 色综合伊人色综合网站| 97国产精品人人爽人人做| 亚洲一区二区三| 亚洲免费av网址| 国产亚洲精品va在线观看| 日韩禁在线播放| 欧美另类第一页| 疯狂做受xxxx欧美肥白少妇| 亚洲自拍偷拍网址| 日韩美女视频中文字幕| 久久精品人人做人人爽| 色综合色综合久久综合频道88| 日韩av在线播放资源| 欧美日韩国产精品一区二区三区四区|