麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 服務器 > Linux服務器 > 正文

關于Linux下對于makefile的理解

2024-09-05 23:03:29
字體:
來源:轉載
供稿:網友

什么是makefile呢?在Linux下makefile我們可以把理解為工程的編譯規則。一個工程中源文件不計數,其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的規則來指定,那些文件需要先編譯,那些文件需要后編譯,那些文件需要重新編譯,甚至于進行更復雜的功能操作,因為makefile就像一個shell腳本一樣,其中也可執行操作系統的命令。

makefile帶來的好處就是---“自動化編譯”,一旦寫好,只需要一個make命令,整個工程完全自動編譯,極大地提高了軟件開發的效率。

make命令在執行時,需要一個makefile文件,以告訴make命令要怎樣去編譯鏈接程序。只要我們makefile寫的足夠好,make命令會自動智能的根據當前文件自己編譯所需要的文件和鏈接目標文件。

makefile的規則:

target:prerequisites  command.......................

target是目標文件,prerequisites就是要生成target所需要的文件或是目標。command就是make需要執行的命令。這是一個文件依賴關系,也就是說,target這一個或多個的目標文件依賴于prerequisites中的文件,其生成規則定義在command中。如果prerequisites中如果有一個以上的文件比target文件內容要新的話,command所定義的文件就會被執行。這就是makefile最核心的內容。

舉個栗子:

先準備三個文件:file1.c,file2.c,file2.h

file1.c:

#include<iostream>int main(){file2printf();return 0;}

file2.h:

#ifndef FILE2_H_#define FILE2_H_void file2printf();#endiffile2.c#include"file2.h"void file2printf(){printf("hello world!/n");}

那么它的makefile怎么寫呢?(makefile文件和文件在同一目錄下)

test:file1.o file2.o          //test依賴file1.o和file2.o兩個目標文件

  gcc -c file1.o file2.o -o test    //編譯出test可執行文件,-o 表示指定的目標文件名

file1.o:file1.c file2.h          //編譯出file1.o文件,file1.o依賴于file1.c和file2.h,-c表示GCC只把給他的文件編譯成目標文件  

  gcc -c file1.c -o file1.o

file2.o:file2.c file2.h                       //這兩句與上兩句相同

  gcc -c file2.c -o file2.o

.PHONY:clean

clean:

rm -rf* .o test      //當輸入make clean命令時,就會刪除所有的.o文件和test文件了

注意:每個命令行之前都必須有tab符號。

這是簡單的makefile的寫法,其實makefile還有很多的功能注意點值得學習。大家可以下去自行學習

以上這篇關于Linux下對于makefile的理解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产日韩免费观看 | 欧美一级精品片在线看 | 亚洲国产精品久久久久久久久久久 | 有兽焉免费动画 | 蜜桃视频观看麻豆 | 色呦呦一区二区三区 | 国产一区二区三区在线观看视频 | 国产免费片 | 欧美日韩手机在线观看 | 国产精品999在线观看 | 在线观看国产日韩 | 黄网免费看 | 色网站综合 | 一区二区三区欧美在线观看 | 一区二区国产在线 | 欧美日韩爱爱视频 | 亚洲欧美aⅴ | 美女在线观看视频一区二区 | 国产做爰 | 黄色特级| 亚洲性在线视频 | 日日操操 | 国产精品9191 | 毛片一级网站 | 男女亲热网站 | 亚洲综合一区在线观看 | 久久精品免费网站 | 一区二区三区黄色 | 欧美国产一区二区三区激情无套 | 国产精品美女久久久免费 | 毛片118极品美女写真 | 99国产精品国产免费观看 | 久久久在线免费观看 | 91精选视频在线观看 | 超碰97最新 | 免费视频a | 九一免费版在线观看 | 久久亚洲精品国产一区 | 欧美一级高清片在线 | 免费在线观看午夜视频 | 国产成人综合在线观看 |