寫Makefile(一)

  1.  概述
    要在unix/linux上開發應用程序,會寫Makefile是必須要掌握的技能。就像你用vc寫開發程序,如果你不會用vc這個工具,就沒法開發。
    其實Makefile也是利用一些c/c++編譯器命令的組合,Makefile只把這些命令組合起來,提供一個這些命令的規則、執行順序。
  2.  示例
    我現在有一個c程序main.cpp,代碼如下:

    這是一個最基本的c程序hello world,在unix/linux下該怎麼編譯,得到想要的可執行程序呢。
    我使用的開發環境是hp-unix,編譯器是aCC,g++,gcc,c98,c89都一樣,大同小異。
    現在我首先使用aCC命令編譯得到可執行程序。
    執行命令aCC make.cpp
    成功之後,在當前目錄生成一個默認的可執行程序a.out,執行程序./a.out,在屏幕上輸出"hello world!".
    但是一般我們開發程序需要得到指定名字的程序,可以使用如下命令。
    aCC -c make.cpp
    執行之後,在當前目錄得到一個main.o,這個是由cpp編譯得到的目標文件,不能執行,要得到可執行程序,執行如下命令:aCC -o main main.o
    在當前目錄得到一個main可執行文件,執行main在屏幕上輸出"hello world!",爲了開發上的方便性,編寫一個Makefile,一步完成編譯工作,不需要分步執行命令完成,Makefile內容如下:

    這時,你只需要直接執行make就可以得到想要的main可執行程序了。如果編譯器換了,可以直接把第一行的CC=aCC換掉就可以了,如果是gcc編譯器,CC=aCC,如果是g++,CC=g++等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章