لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
GNU Make & Makefile برای ساخت پروژه های C/C++ (LINUX,MAC)[2024]
GNU Make & Makefile To Build C/C++ Projects(LINUX,MAC)[2024]
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
اطلاعات داخلی فرآیند ساخت را برای نوشتن فایل بهتر برای پروژه های C/C++ در سیستم عامل لینوکس مک بدانید. ساخت برنامه C/C++ با استفاده از Makefile به عنوان یک توسعه دهنده C/C++ آنچه باید در مورد makefile بدانیم! آیا Makefile دشوار است؟ نه نه نه. ما آن را ساده می کنیم. ما بر این تمرکز خواهیم کرد که چگونه می توانیم به راحتی در Makefile کار کنیم. انجام پروژه در اینجا، بنابراین مفهوم شما پاک خواهد شد. شما این دوره را به عنوان یک راهنمای عملی برای Makefile احساس خواهید کرد. پیش نیازها: سیستم عامل لینوکس یا مک باید دانش پایه در C یا C++ داشته باشد. بهتر است بدانید فایل های اجرایی باینری، شی اشتراکی (.so)، کتابخانه ایستا (.a) چیست.
با درک آنچه در پشت صحنه (ایجاد فایلهای میانی) در حین ساختن برنامههای C/C++ در پشت صحنه اتفاق میافتد، فایل را بهتر بنویسید. ما با استفاده از یک مثال زمان واقعی ("Creation Of Egg Omelet") میفهمیم.
ما قرار است 2 پروژه را در طول فرآیند یادگیری makefile انجام دهیم.
پروژه شماره 1: بدون دانستن/به خاطر سپردن بسیاری از چیزها، میتوانید یک makefile برای تولید شیء باینری، اشتراکگذاری شده (.so)، شیء ثابت (.a) بنویسید و همچنین ترفندی برای پیوند دادن از هر جایی دریافت کنید. پس از اتمام این پروژه، ایده makefile پاک خواهد شد. ما پس از تکمیل این پروژه در حال ایجاد یک الگوی makefile هستیم که به راحتی در هر پروژه ای قابل استفاده است.
PROJECT#2: در طول اجرای این پروژه، ما با اعمال الگوها، توابع، فایل میک و قالب خود را که در پروژه شماره 1 ایجاد شده است، بهبود خواهیم داد.
در هر مرحله با مشکلی مواجه می شویم و سپس راه حل را اعمال می کنیم.
ما با ایجاد ساختار پوشه PROJECT (این را می توان در پروژه های بلادرنگ استفاده کرد) پس از درک تمام خروجی های ممکن یک برنامه C/C++ شروع می کنیم. سپس به مسائل فنی بیشتری در برنامه نویسی برمی خوریم و سعی می کنیم در این سفر یکی یکی آنها را حل کنیم. ساختار پروژه ما به گونه ای است که فرآیند استقرار بسیار آسان تر می شود.
ما شروع به نوشتن فایلهای ساده میکنیم و همانطور که واقعاً به آن نیاز داریم به بهبود ادامه میدهیم! ما تمرینات زیادی را انجام میدهیم و با مشکلات زیادی روبرو میشویم و همچنین همه چیز را در حال رفع میکنیم!
ما میخواهیم برای همه خروجیهای ممکن یک makefile بنویسیم. در این دوره شما همیشه یاد خواهید گرفت که چرا؟؟؟ و چگونه؟؟؟
نیاز واقعی یک مفهوم خاص را به شما نشان خواهم داد و سپس آن را یاد خواهیم گرفت و به کار خواهیم برد.
نکات برجسته:
1. با دانستن حداقل چیزها، فایل را بنویسید.
2. یک Makefile برای فراخوانی همه فایل های makefi
3. Makefile با ویژگی Cross Compilation
4. با در نظر گرفتن DEBUG RELEASE نسخه باینری، فایل را در نظر بگیرید.
5. انتقال MACRO از makefile به makefile دیگر
6. متغیرهای محیطی ترمینال را شناسایی کنید و یکی از آنها به ساخت دیگری منتقل میشود.
7. ما طراحی سطح بالا (HLD) پروژه ها را مورد بحث قرار خواهیم داد و از این طریق احساس خواهید کرد که نوشتن یک فایل ساخت چقدر آسان است.
8. با کامپایل خط فرمان
راحت تر خواهید بود
9. مسائل مربوط به پیوند اشیاء مشترک و نحوه رفع آن را به طور موقت و دائم درک کنید.
10. پروژه در MAC انجام می شود و در لینوکس کپی می شود. ما مستقیماً یک ساخت واحد انجام می دهیم که همه ماژول ها را makefile فراخوانی می کند و فایل های اجرایی، اشیاء مشترک، اشیاء استاتیک را یکپارچه می سازد. نکته مهم این است که بدون هیچ خطی از تغییر کد برای لینوکس!
سرفصل ها و درس ها
مقدمه و تنظیم محیط
Introduction & Environment Setup
مقدمه
Introduction
راه اندازی محیط
Environment Setup
پشت صحنه
Behind The Scene
پشت صحنه چه می گذرد؟
What Is Happening Behind The Scene?
درک جزئیات پیش پردازنده
Understanding Preprocessor Details
تصمیم گیری در مورد انواع خروجی ها و ایجاد ساختار پوشه
Decide Types Of Outputs & Create Folder Structure
خروجی های احتمالی برنامه C/C++
POSSIBLE OUTPUTs OF C/C++ PROGRAM
ایجاد ساختار پوشه پروژه
CREATION OF PROJECT FOLDER STRUCTURE
ساخت و ایجاد فایل
Make & Makefile
ساخت و ایجاد فایل
Make & Makefile
ساختار MAKEFILE
STRUCTURE OF MAKEFILE
REAL WORLD MAKE
REAL WORLD MAKE
چه کسی تمیز خواهد کرد؟ (هدف ساختگی را درک کنید)
WHO WILL CLEAN? (UNDERSTAND PHONY TARGET)
اولین میکافیل (نمونه نمایشی مرحله به مرحله)
FIRST MAKEFILE(STEP BY STEP DEMO)
لغو هدف پیش فرض
OVERRIDE DEFAULT TARGET
پروژه شماره 01
PROJECT#01
کد منبع و یادداشت ها برای مرجع
SOURCE CODE & NOTES FOR REFERENCE
درک الزامات با HLD
UNDERSTANDING REQUIREMENT WITH HLD
عبور ماکرو در طول فرآیند ساخت
PASSING MACRO DURING BUILD PROCESS
درک نیاز -std
UNDERSTAND THE NEED OF -std
== در مقابل :=
== Vs :=
دموی هدف ساختگی
PHONY TARGET DEMO
قالب Makefile
Makefile Template
Makefile TEMPLATE-I
Makefile TEMPLATE-I
Makefile TEMPLATE-II
Makefile TEMPLATE-II
Makefile TEMPLATE-III
Makefile TEMPLATE-III
PROJ#02 (بیایید پروژه نهایی را شروع کنیم - نحوه استفاده از قالب Makefile را یاد بگیرید)
PROJ#02(Let's Start Final Project - Learn How To Use Makefile Template)
درک پروژه و طراحی HL
UnderstandingPROJECT & HL DESIGN
نمایش نظرات