اپلیکیشن اندرویدی فلشکارت آموزشی C و دیباگینگ Dynamic Library
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره C و دیباگینگ Dynamic Library
موضوع کلی: برنامه نویسی
موضوع میانی: سی (C)
📋 سرفصلهای دوره
- 1. مبانی برنامه نویسی و مقدمه ای بر C
- 2. نصب و پیکربندی محیط توسعه C (IDE و کامپایلر)
- 3. اولین برنامه C: "Hello, World!"
- 4. ساختار کلی یک برنامه C
- 5. متغیرها و انواع داده های پایه (int, float, char, double)
- 6. عملگرها (ریاضی، مقایسهای، منطقی، بیتی)
- 7. دستورات ورودی و خروجی (printf, scanf)
- 8. ساختارهای کنترلی: شرطی (if, else if, else)
- 9. ساختارهای کنترلی: شرطی (switch-case)
- 10. ساختارهای کنترلی: حلقهها (while)
- 11. ساختارهای کنترلی: حلقهها (for)
- 12. ساختارهای کنترلی: حلقهها (do-while)
- 13. دستورات پرش (break, continue, goto)
- 14. آرایهها: تعریف و استفاده
- 15. آرایهها: آرایههای چندبعدی
- 16. توابع: تعریف، فراخوانی و پارامترها
- 17. توابع: بازگشت مقدار (return value)
- 18. توابع: پاس دادن آرگومانها (call by value vs call by reference)
- 19. اشارهگرها (Pointers): مقدمه و مفهوم
- 20. اشارهگرها: آدرس دهی و مقداردهی
- 21. اشارهگرها: عملیات روی اشارهگرها (+, -, ++, --)
- 22. اشارهگرها: اشارهگرها و آرایهها
- 23. اشارهگرها: اشارهگرها و توابع
- 24. اشارهگرها: اشارهگرهای چندبعدی (Pointers to Arrays)
- 25. اشارهگرها: اشارهگرهای به اشارهگرها (Pointers to Pointers)
- 26. رشتهها (Strings): معرفی و نحوه نمایش
- 27. رشتهها: کار با رشتهها با استفاده از آرایهها و اشارهگرها
- 28. توابع کار با رشتهها (strcpy, strcat, strcmp, strlen)
- 29. ساختارها (Structs): تعریف و استفاده
- 30. ساختارها: دسترسی به اعضا (dot operator)
- 31. ساختارها: اشارهگرها به ساختارها
- 32. ساختارها: آرایههایی از ساختارها
- 33. ساختارها: ساختارهای تودرتو (Nested Structs)
- 34. اتحادها (Unions): تعریف و استفاده
- 35. اتحادها: تفاوت با ساختارها
- 36. شمارشها (Enums): تعریف و استفاده
- 37. پیشپردازندهها (Preprocessors): #include
- 38. پیشپردازندهها: #define (ماکروها)
- 39. پیشپردازندهها: #undef
- 40. پیشپردازندهها: #ifdef, #ifndef, #if, #else, #elif, #endif
- 41. پیشپردازندهها: ماکروهای شرطی
- 42. مدیریت حافظه: تخصیص حافظه استاتیک (Static Memory Allocation)
- 43. مدیریت حافظه: تخصیص حافظه داینامیک (Dynamic Memory Allocation)
- 44. توابع تخصیص حافظه داینامیک: malloc
- 45. توابع تخصیص حافظه داینامیک: calloc
- 46. توابع تخصیص حافظه داینامیک: realloc
- 47. توابع تخصیص حافظه داینامیک: free
- 48. مدیریت حافظه: خطاهای رایج در تخصیص حافظه داینامیک
- 49. فایلها: مقدمه ای بر ورودی/خروجی فایل
- 50. فایلها: باز کردن و بستن فایلها (fopen, fclose)
- 51. فایلها: خواندن و نوشتن کاراکترها (fgetc, fputc)
- 52. فایلها: خواندن و نوشتن رشتهها (fgets, fputs)
- 53. فایلها: خواندن و نوشتن فرمت شده (fscanf, fprintf)
- 54. فایلها: خواندن و نوشتن دادههای باینری (fread, fwrite)
- 55. فایلها: موقعیت یابی در فایل (fseek, ftell, rewind)
- 56. مقدمه ای بر کتابخانههای دینامیک (Dynamic Libraries)
- 57. تفاوت کتابخانههای استاتیک و دینامیک
- 58. نحوه ایجاد کتابخانههای دینامیک (Linux: Shared Libraries, Windows: DLLs)
- 59. ساخت یک کتابخانه دینامیک ساده (مثال عملی)
- 60. کامپایل کردن کد با لینک کردن کتابخانه دینامیک
- 61. مفهوم نمادها (Symbols) در کتابخانههای دینامیک
- 62. نحوه مدیریت وابستگیها (Dependencies) در کتابخانههای دینامیک
- 63. ابزارهای بررسی کتابخانههای دینامیک (ldd, objdump)
- 64. مقدمه ای بر دیباگینگ (Debugging)
- 65. اهمیت دیباگینگ در توسعه نرمافزار
- 66. انواع رایج خطاها در برنامه نویسی C (Syntax, Logic, Runtime)
- 67. استراتژیهای پایه دیباگینگ (چاپ مقادیر، تجزیه و تحلیل خطا)
- 68. استفاده از دیباگر GDB (GNU Debugger)
- 69. دستورات پایه GDB (run, break, continue, next, step)
- 70. بازرسی متغیرها در GDB (print, display)
- 71. بازرسی حافظه در GDB (x)
- 72. تنظیم نقاط توقف شرطی (Conditional Breakpoints)
- 73. استفاده از Watchpoints
- 74. دیباگینگ در محیط IDE (مثال: Visual Studio Code, CLion)
- 75. عیب یابی خطاهای کامپایل
- 76. عیب یابی خطاهای زمان اجرا (Segmentation Fault, Bus Error)
- 77. دیباگینگ نشت حافظه (Memory Leaks)
- 78. استفاده از ابزارهای تحلیل حافظه (Valgrind)
- 79. مفاهیم پیشرفته در GDB (Frame Navigation, Backtrace)
- 80. دیباگینگ در محیطهای چند تردی (Multi-threaded Debugging)
- 81. دیباگینگ برنامه های با کتابخانههای دینامیک
- 82. عیب یابی مشکلات بارگذاری کتابخانههای دینامیک (DLL Hell, Shared Object Issues)
- 83. مراحل استاندارد دیباگینگ یک مشکل پیچیده
- 84. ارتباط بین کد منبع و کتابخانههای دینامیک در زمان دیباگینگ
- 85. کار با نقشههای اشکال زدایی (Debug Symbols)
- 86. دیباگینگ در سیستم عاملهای مختلف (Windows, Linux, macOS)
- 87. نکات و ترفندهای دیباگینگ برای C
- 88. بهترین شیوهها برای نوشتن کد قابل دیباگینگ
- 89. نوشتن تستهای واحد (Unit Tests) برای تسهیل دیباگینگ
- 90. مفاهیم پیشرفته در توابع و اشارهگرها (Function Pointers)
- 91. typedef برای انواع داده های پیچیده
- 92. union های خود ارجاع (Recursive Unions)
- 93. حلقه های بی نهایت و راه های تشخیص و رفع آنها
- 94. مدیریت خطاهای ورودی/خروجی فایل
- 95. استفاده از const برای جلوگیری از تغییرات ناخواسته
- 96. مقدمه ای بر مفاهیم شیء گرا در C (پیاده سازی با ساختار و توابع)
- 97. مباحث تکمیلی و جمع بندی دوره
- 98. منابع بیشتر برای یادگیری C و دیباگینگ
- 99. آدرسهای حافظه، اشارهگرها و تخصیص حافظه پویا (malloc, calloc, free)
- 100. پیادهسازی و استفاده از توابع و مدیریت فایلها در C (fopen, fclose, fread, fwrite)
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.