青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

我的CPP之路

路漫漫其修遠(yuǎn)兮
隨筆 - 42, 文章 - 0, 評論 - 16, 引用 - 0
數(shù)據(jù)加載中……

[轉(zhuǎn)]一個簡單的makefile示例及其注釋

http://www.cnblogs.com/sld666666/archive/2010/04/08/1707789.html
一個簡單的makefile示例及其注釋
posted @ 2010-04-08 21:29 sld666666 閱讀(698) 評論(2)

  相信在unix下編程的沒有不知道m(xù)akefile的,剛開始學(xué)習(xí)unix平臺下的東西,了解了下makefile的制作,覺得有點(diǎn)東西可以記錄下。
  下面是一個極其簡單的例子:
  現(xiàn)在我要編譯一個Hello world,需要如下三個文件:
  1. print.h
      #include<stdio.h>
      void printhello();

  2. print.c
      #include"print.h"
      void printhello(){
        printf("Hello, world\n");
      }

  3. main.c
      #include "print.h"
      int main(void){
        printhello();
        return 0;
      }

  好了,很簡單的程序了。如果我們想要編譯成功需要哪些步驟呢?
  我認(rèn)為在這里需要理解的就兩步:
  #  為每一個 *.c文件生成 *o文件。
  #  連接每一個*o文件,生成可執(zhí)行文件。
  下面的makefile 就是根據(jù)這樣的原則來寫的。


一:makefile 雛形:

 
#makefile的撰寫是基于規(guī)則的,當(dāng)然這個規(guī)則也是很簡單的,就是:
#target : prerequisites
  command  //任意的shell 命令

實(shí)例如下:
makefile:
    helloworld : main.o print.o #helloword 就是我們要生成的目標(biāo)
                 # main.o print.o是生成此目標(biāo)的先決條件
      gcc -o helloworld main.o print.o#shell命令,最前面的一定是一個tab鍵

    mian.o : mian.c print.h
      gcc -c main.c
    print.o : print.c print.h
      gcc -c print.c
    
    clean :          
        rm helloworld main.o print.o
  OK,一個簡單的makefile制作完畢,現(xiàn)成我們輸入 make,自動調(diào)用Gcc編譯了,  輸入 make clean就會刪除 hellowworld mian.o print.o


二:小步改進(jìn):


  在上面的例子中我們可以發(fā)現(xiàn) main.o print.o 被定義了多處,我們是不是可以向C語言中定義一個宏一樣定義它呢?當(dāng)然可以:
makefile:
    objects =  main.o print.o #應(yīng)該叫變量的聲明更合適

    helloworld : $(objects) //聲明了變量以后使用就要$()了
      gcc -o helloworld$(objects)
     mian.o : mian.c print.h
      gcc -c main.c
    print.o : print.c print.h
      gcc -c print.c
    
    clean :          
        rm helloworld $(objects)
修改完畢,這樣使用了變量的話在很多文件的工程中就能體現(xiàn)出方便性了。


三:再進(jìn)一步:


  再看一下,為沒一個*.o文件都寫一句gcc -c main.c是不是顯得多余了,能不能把它干掉?而且 main.c 和print.c都需要print.h,為每一個都寫上是不是多余了,能不能再改進(jìn)?
  能,當(dāng)然能了:
makefile:
     objects =  main.o print.o

    helloworld : $(objects)
      gcc -o helloworld$(objects)
    
    $(objects) : print.h # 都依賴print.h
     mian.o : mian.c  #干掉了gcc -c main.c 讓Gun make自動推導(dǎo)了。
    print.o : print.c     
    clean :          
        rm helloworld $(objects)

好了,一個簡單的makefile就這樣完畢了,簡單吧。

=========華麗的分割線=========
還有一個網(wǎng)絡(luò)人氣很高的makefile教程(更詳細(xì)):
http://blog.csdn.net/haoel/archive/2004/02.aspx
跟我一起寫 Makefile - 陳皓

還有法語版本的makefile介紹:
http://gl.developpez.com/tutoriel/outil/makefile/
Introduction à Makefile

posted on 2010-12-24 08:48 yanvenhom 閱讀(1056) 評論(0)  編輯 收藏 引用 所屬分類: Makefile


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜精品亚洲| 麻豆成人在线播放| 一本色道久久综合一区| 欧美人与性动交α欧美精品济南到| 亚洲国产日韩精品| 亚洲黄色一区| 欧美日产一区二区三区在线观看 | 欧美婷婷久久| 亚洲视频在线视频| 亚洲女同同性videoxma| 国产综合激情| 亚洲高清在线| 国产精品久久一卡二卡| 欧美在线视频免费| 久久手机免费观看| 一本大道av伊人久久综合| 99re热这里只有精品免费视频| 国产精品卡一卡二| 久久久久九九九九| 欧美国产日韩xxxxx| 欧美亚洲综合另类| 久久只有精品| 午夜精品剧场| 蜜臀av国产精品久久久久| 亚洲一区999| 久久久久国产精品麻豆ai换脸| 夜夜夜久久久| 久久久999精品免费| aaa亚洲精品一二三区| 午夜宅男久久久| 亚洲欧洲日产国码二区| 亚洲专区欧美专区| 亚洲精品社区| 久久久99精品免费观看不卡| 国产精品99久久久久久久久久久久| 欧美在线观看视频| 亚洲免费一级电影| 久久久久久尹人网香蕉| 久久一区二区三区国产精品| 亚洲一区亚洲二区| 免费在线一区二区| 欧美在线观看一区二区| 欧美粗暴jizz性欧美20| 久久久午夜视频| 国产精品人人做人人爽| 亚洲免费观看| 亚洲乱码精品一二三四区日韩在线 | 一区二区三区高清| 久久天堂精品| 久久久高清一区二区三区| 欧美色中文字幕| 亚洲国产另类精品专区| 亚洲第一精品电影| 久久成人精品| 久久久久国产精品一区二区| 国产精品一区二区久久久| 日韩小视频在线观看专区| 亚洲国产综合在线看不卡| 久久精品中文| 乱中年女人伦av一区二区| 国产在线精品成人一区二区三区 | 久久久久久久欧美精品| 国产精品视频久久久| 中文在线一区| 亚洲专区一区二区三区| 欧美天天影院| 中文日韩在线视频| 午夜精品美女久久久久av福利| 欧美午夜影院| 亚洲免费影视| 久久久久9999亚洲精品| 国产综合18久久久久久| 久久久久久久尹人综合网亚洲| 久久久国产精品一区二区中文| 国产亚洲人成网站在线观看| 亚洲少妇自拍| 久久精品国产久精国产爱| 韩日精品在线| 久久精品国产一区二区电影| 欧美成年人视频网站| 亚洲精品少妇| 欧美性生交xxxxx久久久| 亚洲一区二区三区在线观看视频| 亚洲欧美日韩成人| 国产日产欧产精品推荐色| 久久精品成人一区二区三区| 欧美国产亚洲精品久久久8v| 日韩亚洲国产精品| 国产精品一区免费视频| 久久青草久久| 亚洲精品专区| 久久精品国产99国产精品澳门| 在线观看不卡av| 欧美日韩精品三区| 香蕉免费一区二区三区在线观看| 久久久久久久国产| 亚洲毛片av在线| 国产精品外国| 噜噜噜噜噜久久久久久91| 亚洲精品美女免费| 久久久www成人免费精品| 亚洲精品国产精品国产自| 欧美亚男人的天堂| 久久米奇亚洲| 亚洲一区二区少妇| 亚洲国产第一| 久久久99精品免费观看不卡| 亚洲精品一区二区三区福利| 国产精品色一区二区三区| 免费在线观看精品| 亚洲欧美激情四射在线日| 亚洲国产日韩一区| 久久久美女艺术照精彩视频福利播放| 亚洲精品日韩在线观看| 国产亚洲综合在线| 欧美日精品一区视频| 久久久噜噜噜| 亚洲欧美在线一区| 日韩一级黄色片| 亚洲成色最大综合在线| 久久久久.com| 亚洲资源在线观看| 艳妇臀荡乳欲伦亚洲一区| 国产一区美女| 国产精品视频免费在线观看| 欧美精品偷拍| 欧美国产一区二区| 久久久蜜桃一区二区人| 午夜在线观看欧美| 制服丝袜亚洲播放| 99国内精品久久| 亚洲精品1区2区| 亚洲春色另类小说| 欧美不卡高清| 欧美aⅴ99久久黑人专区| 久久亚洲欧美| 久久婷婷成人综合色| 久久精品国产91精品亚洲| 午夜久久99| 亚洲综合色激情五月| 亚洲自拍电影| 午夜精品一区二区三区电影天堂| 99国内精品久久久久久久软件| 最新中文字幕一区二区三区| 亚洲高清免费在线| 亚洲激情在线视频| 亚洲日本黄色| av成人免费在线| 一区二区三区四区五区视频 | 亚洲激情另类| 亚洲免费高清| 亚洲午夜精品福利| 先锋影院在线亚洲| 久久久999精品视频| 久久字幕精品一区| 欧美高清视频一二三区| 欧美韩日高清| 亚洲三级毛片| 亚洲一区综合| 久久国产精品久久精品国产| 久久在线免费观看视频| 欧美成人精品在线| 欧美视频一区在线| 国产视频在线观看一区| 激情综合久久| 日韩午夜av电影| 亚洲一区二区三区在线| 欧美在线精品免播放器视频| 久久免费高清视频| 亚洲激情成人| av成人黄色| 久久精品99国产精品日本| 欧美电影免费观看高清| 欧美日本国产视频| 国产丝袜美腿一区二区三区| 亚洲国产精品毛片| 亚洲欧美日韩一区二区在线 | 免费永久网站黄欧美| 亚洲二区在线观看| 亚洲人成免费| 欧美在线你懂的| 欧美日韩妖精视频| 在线观看成人av电影| 亚洲一区二区三区精品在线| 久久夜色精品国产欧美乱| 亚洲精品激情| 欧美在线视频一区二区| 欧美—级a级欧美特级ar全黄| 国产精品视频第一区| 亚洲精品国产品国语在线app | 亚洲美女av黄| 久久综合精品一区| 99精品国产高清一区二区 | 亚洲图片欧美午夜| 免费亚洲视频| 一区二区三区无毛| 欧美综合激情网| 中文av字幕一区| 欧美激情国产精品| 亚洲第一福利视频|