メイクファイルのチュートリアル学習マニュアル

Published on 2023-04-20 00:10:05 · 中文 · English · بالعربية · Español · हिंदीName · Русский язык · 中文繁體

Makefile は、Unix、Linux、およびそれらのフレーバーで動作するプログラム構築ツールです。 これは、さまざまなモジュールを必要とする可能性のあるプログラム実行可能ファイルの構築を簡素化するのに役立ちます。 モジュールをどのようにコンパイルまたは再コンパイルする必要があるかを判断するには、make にユーザー定義のメイクファイルが必要です。 このチュートリアルでは、makefile の構造と有用性についての理解を深めます。
ソース コード ファイルのコンパイルは、特に複数のソース ファイルを含め、コンパイルする必要があるたびにコンパイル コマンドを入力する必要がある場合は、面倒な場合があります。 Makefile は、このタスクを簡素化するソリューションです。
メイクファイルは、プロジェクトの構築と管理を自動化するのに役立つ特別にフォーマットされたファイルです。
たとえば、次のソースファイルがあるとします。
メイン.cpp こんにちは.cpp 階乗.cpp 関数.h
メイン.cpp
メイン.cppソースファイルのコードは次のとおりです。
#include <iostream>
using namespace std;
#include "functions.h"
int main(){
   print_hello();
   cout << endl;
   cout << "The factorial of 5 is " << factorial(5) << endl;
   return 0;
}
こんにちは.cpp
以下のコードは、hello.cppソースファイル用です。
#include <iostream>
using namespace std;
#include "functions.h"
void print_hello(){
   cout << "Hello World!";
}
階乗.cpp
階乗.cppのコードは次のとおりです。
#include "functions.h"
int factorial(int n){
   
   if(n!=1){
      return(n * factorial(n-1));
   } else return 1;
}
関数.h
ここにfnctions.hのコードがあります。
void print_hello();
int factorial(int n);
ファイルをコンパイルして実行可能ファイルを取得する簡単な方法は、コマンドを実行することです。
gcc  main.cpp hello.cpp factorial.cpp-o hello
このコマンドにより、 こんにちは バイナリ。 この例では、ファイルは 4 つしかなく、関数呼び出しの順序がわかっています。 したがって、上記のコマンドを入力して、最終的なバイナリを準備することが可能です。
ただし、何千ものソース コード ファイルを含む大規模なプロジェクトでは、バイナリ ビルドの維持が困難になります。
make コマンドを使用すると、大規模なプログラムまたはプログラムのグループを管理できます。 大きなプログラムの作成を開始すると、大きなプログラムの再コンパイルは短いプログラムの再コンパイルよりも時間がかかることに気付くでしょう。 また、通常は 1 つの関数など、プログラムのごく一部しか処理せず、残りのプログラムのほとんどは変更されないことに気付くでしょう。
次のセクションでは、プロジェクトのメイクファイルを準備する方法を説明します。