日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

002编程基础----makefile

發布時間:2024/7/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 002编程基础----makefile 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、總述

make來構建和管理自己的軟件工程。

GNU的make能夠使整個軟件工程的編譯、鏈接只需要一個命令就可以完成。

make 在執行時,需要一個命名為Makefile的文件。

Makefile文件描述了整個工程的編譯,鏈接規則。包括:

1、工程中哪些文件需要編譯

2、需要創建哪些文件

3、如何創建這些文件

4、如何產生我們想要的可執行文件。

例如:

hello: main.o func1.o func2.o

  gcc main.o func1.o func2.o -o hello

main.o:main.c

  gcc -c main.c

fun1.o:func1.c

  gcc -c func1.c

func2.o:func2.c

  gcc -c func2.c

二、Makefile術語

1、規則:用于說明如何生成一個或多個目標文件,格式如下:

target:prerequisites

  command

即,目標 ?依賴 ?命令

main.o:main.c

  gcc -c main.c ? ?命令需要tab鍵

make命令默認在當前目錄下尋找名字為makefile或者Makefile的工程文件,當名字不為兩者之一時,可以使用如下方法指定:

make -f 文件名

2、偽目標

Makefile中把那些沒有任何依賴只有執行動作的目標稱為“偽目標”(phony targets)。

.PHONY : clean

clean:

  rm -f hello main.o func1.o func2.o

".PHONY"將“clean”目標聲明為偽目標。

3、變量

obj=main.o func1.o func2.o func3.o

hello:$(obj)

  gcc $(obj) -o hello

另外,makefile中,存在系統默認的自動化變量

$^:代表所有的依賴文件

$@:代表目標

$<:代表第一個依賴文件

改寫:

hello:main.o func1.o func2.o

  gcc $^ -o $@

4、雜項

makefile中“#”字符后的內容被視作注釋

hello:hello.c

  @gcc $^ -o $@

第一個“@”用于取消回顯。

轉載于:https://www.cnblogs.com/liutianyi10/p/3837969.html

總結

以上是生活随笔為你收集整理的002编程基础----makefile的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。