ميكفيل تعليميدليل الدراسة

Published on 2023-04-20 00:10:05 · 中文 · English · Español · हिंदीName · 日本語 · Русский язык · 中文繁體

Makefile هي أداة لبناء البرامج تعمل على Unix و Linux ونكهاتها. يساعد على تبسيط بناء الملفات التنفيذية للبرنامج التي قد تتطلب وحدات مختلفة. من أجل تحديد كيفية الحاجة إلى تجميع الوحدة أو إعادة تجميعها ، اجعل الاحتياجات مساعدة من ملف makefile محدد من قبل المستخدم. سيعزز هذا البرنامج التعليمي فهمك لهيكل وفائدة makefile.
قد يكون تجميع ملفات التعليمات البرمجية المصدر متعبا ، خاصة عندما يتعين عليك تضمين ملفات مصدر متعددة وكتابة أمر ترجمة في كل مرة تحتاج فيها إلى التجميع. Makefile هو الحل لتبسيط هذه المهمة.
Makefiles هي ملفات منسقة خصيصا تساعد على أتمتة إنشاء وإدارة المشاريع.
على سبيل المثال ، افترض أن لدينا ملفات المصدر التالية.
الرئيسية.cpp مرحبا.cpp عاملي.cpp وظائف.ح
الرئيسية.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;
}
وظائف.ح
هنا هو رمز fnctions.h-
void print_hello();
int factorial(int n);
طريقة سهلة لتجميع الملف والحصول على الملف القابل للتنفيذ هي تشغيل الأمر-
gcc  main.cpp hello.cpp factorial.cpp-o hello
يولد هذا الأمر مرحبا ثنائي. في هذا المثال ، لدينا أربعة ملفات فقط ، ونعرف ترتيب استدعاءات الدالة. لذلك ، من الممكن كتابة الأمر أعلاه وإعداد الثنائي النهائي.
ومع ذلك ، بالنسبة للمشاريع الكبيرة التي تحتوي على الآلاف من ملفات التعليمات البرمجية المصدر ، يصبح الحفاظ على البنيات الثنائية أمرا صعبا.
يتيح لك الأمر make إدارة البرامج الكبيرة أو مجموعات البرامج. عندما تبدأ في كتابة برامج كبيرة ، ستلاحظ أن إعادة ترجمة البرامج الكبيرة تستغرق وقتا أطول من إعادة ترجمة البرامج القصيرة. أيضا ، ستلاحظ أنك عادة ما تتعامل مع جزء صغير فقط من البرنامج ، مثل وظيفة واحدة ، بينما لا يتغير معظم بقية البرنامج.
في الأقسام التالية ، سنرى كيفية إعداد ملف makefile لمشروعنا.