, ,

کتاب C و برنامه نویسی compiler optimization

تومان249,950

انتخاب پلن

torobpay
هر قسط با ترب‌پی: تومان62,488
۴ قسط ماهانه. بدون سود، چک و ضامن.

📚 محتوای این محصول آموزشی (پکیج کامل)

💡 این محصول یک نسخهٔ کامل و جامع است

تمامی محتوای آموزشی این کتاب در قالب یک بسته‌ی کامل و یکپارچه ارائه می‌شود و شامل تمام نسخه‌ها و فایل‌های موردنیاز برای یادگیری است.

🎁 محتویات کامل بسته دانلودی

🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل کتاب‌ها، تمرین‌ها و خودآزمایی .


ℹ️ نکات مهم هنگام خرید

  • این محصول به صورت فایل دانلودی کامل ارائه می‌شود و نسخهٔ چاپی ندارد.
  • توجه: لینک‌های اختصاصی دوره طی حداکثر 24 ساعت پس از ثبت سفارش ارسال می‌شوند.
  • دقت کنید لینک ها به شماره موبایل شما ارسال می شوند. پس در ارائه شماره موبایل صحیح دقت کنید.
  • برای راهنمایی در مورد نحوه دانلود به شماره 09395106248 پیامک دهید یا تماس بگیرید. (ایده آل ترین گزینه ارسال پیام در یکی از پیام رسان ها به همین شماره است تا سریعا لینک های کتاب همانجا برای شما ارسال گردد.)
  • اگر پرداخت انجام شده ولی بعد از 24 ساعت هنوز لینک‌ها را دریافت نکرده‌اید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینک‌ها دوباره ارسال شوند.

💬 راه‌های ارتباطی پشتیبانی:
واتس‌اپ یا هر پیام رسان داخلی یا پیامک: 09395106248
تلگرام: @ma_limbs

📚 کتاب آموزشی جامع

📚 اطلاعات کتاب

عنوان کتاب: کتاب C و برنامه نویسی compiler optimization

موضوع کلی: برنامه نویسی

موضوع میانی: سی (C)

📋 سرفصل‌های کتاب (100 موضوع)

  • 1. مقدمه‌ای بر زبان C و تاریخچه آن
  • 2. نصب و راه‌اندازی کامپایلر (GCC, Clang) و محیط توسعه
  • 3. ساختار یک برنامه C: تابع main و اولین برنامه
  • 4. متغیرها، انواع داده‌های پایه (int, char, float, double)
  • 5. عملگرهای حسابی، رابطه‌ای و منطقی
  • 6. دستورات شرطی: if, else if, else
  • 7. دستور شرطی switch-case
  • 8. حلقه‌های تکرار: for, while, do-while
  • 9. توابع: تعریف، فراخوانی و بازگشت مقدار
  • 10. پارامترهای تابع و انتقال با مقدار (Pass by Value)
  • 11. محدوده (Scope) و طول عمر (Lifetime) متغیرها
  • 12. آرایه‌های یک بعدی و چند بعدی
  • 13. رشته‌ها در C (آرایه‌ای از کاراکترها) و توابع کتابخانه string.h
  • 14. پیش‌پردازنده C (#include, #define, #if)
  • 15. ورودی و خروجی استاندارد (printf, scanf)
  • 16. مقدمه‌ای بر اشاره‌گرها (Pointers)
  • 17. ریاضیات اشاره‌گرها (Pointer Arithmetic)
  • 18. رابطه بین آرایه‌ها و اشاره‌گرها
  • 19. تخصیص حافظه پویا (malloc, calloc, realloc, free)
  • 20. اشاره‌گر به تابع (Function Pointers)
  • 21. ساختارها (struct) و تعریف انواع داده سفارشی
  • 22. اتحادیه‌ها (union) و فیلدهای بیتی (Bit-fields)
  • 23. اشاره‌گر به ساختار و عملگرهای -> و .
  • 24. کلمات کلیدی `const` و `volatile`
  • 25. کلمات کلیدی `static` و `extern`
  • 26. فایل‌ها و عملیات ورودی/خروجی روی فایل
  • 27. مدل حافظه برنامه: Stack, Heap, Data Segment
  • 28. خطاهای رایج حافظه: نشت حافظه و اشاره‌گرهای معلق
  • 29. ساخت و استفاده از کتابخانه‌های استاتیک و داینامیک
  • 30. مراحل کامپایل: پیش‌پردازش، کامپایل، اسمبل، لینک
  • 31. آشنایی با زبان اسمبلی (x86/ARM)
  • 32. نگاشت ساختارهای C به اسمبلی: متغیرها و عبارات
  • 33. نگاشت ساختارهای C به اسمبلی: دستورات کنترلی و حلقه‌ها
  • 34. قراردادهای فراخوانی تابع و پشته (Stack Frame)
  • 35. بررسی خروجی اسمبلی کامپایلر (گزینه -S)
  • 36. معرفی نمایش میانی (Intermediate Representation – IR)
  • 37. مفهوم بهینه‌سازی کامپایلر: اهداف و محدودیت‌ها
  • 38. سطوح بهینه‌سازی کامپایلر (-O0, -O1, -O2, -O3, -Os)
  • 39. قانون "As-if" و رفتار تعریف‌نشده (Undefined Behavior)
  • 40. بهینه‌سازی با هدایت پروفایل (Profile-Guided Optimization – PGO)
  • 41. بهینه‌سازی در زمان لینک (Link-Time Optimization – LTO)
  • 42. وابستگی داده‌ها (Data Dependencies) و تحلیل آن
  • 43. گراف جریان کنترل (Control Flow Graph – CFG)
  • 44. فرم تخصیص تکی استاتیک (Static Single Assignment – SSA)
  • 45. بهینه‌سازی‌های مستقل از ماشین: مقدمه
  • 46. حذف کد مرده (Dead Code Elimination)
  • 47. انتشار ثابت‌ها (Constant Propagation) و درهم‌کردن ثابت‌ها (Constant Folding)
  • 48. انتشار کپی (Copy Propagation)
  • 49. حذف زیرعبارات مشترک (Common Subexpression Elimination)
  • 50. کاهش قدرت (Strength Reduction)
  • 51. حرکت کد نامتغیر حلقه (Loop-Invariant Code Motion)
  • 52. مقدمه‌ای بر بهینه‌سازی حلقه‌ها
  • 53. بازکردن حلقه (Loop Unrolling)
  • 54. ادغام و شکستن حلقه‌ها (Loop Fusion and Fission)
  • 55. تعویض حلقه‌ها (Loop Interchange)
  • 56. درون‌ریزی توابع (Function Inlining)
  • 57. بهینه‌سازی فراخوانی نهایی (Tail Call Optimization)
  • 58. تحلیل مستعار (Alias Analysis) و کلمه کلیدی `restrict`
  • 59. تخصیص ثبات‌ها (Register Allocation)
  • 60. تأثیر چیدمان داده‌ها بر عملکرد
  • 61. هم‌راستاسازی داده‌ها (Data Alignment) و Padding
  • 62. مقدمه‌ای بر معماری کامپیوتر: خط لوله (Pipelining)
  • 63. اجرای خارج از ترتیب (Out-of-Order Execution)
  • 64. پیش‌بینی انشعاب (Branch Prediction) و تأثیر آن بر کد
  • 65. حرکت شرطی (Conditional Move) به جای انشعاب
  • 66. سلسله مراتب حافظه نهان (Cache Hierarchy)
  • 67. مکان‌یابی داده‌ها (Data Locality): مکانی و زمانی
  • 68. نوشتن کدهای دوست‌دار حافظه نهان (Cache-Friendly Code)
  • 69. مشکل اشتراک کاذب (False Sharing) در برنامه‌های موازی
  • 70. مقدمه‌ای بر موازی‌سازی در سطح دستورالعمل (ILP)
  • 71. معماری‌های Superscalar و VLIW
  • 72. مقدمه‌ای بر SIMD (Single Instruction, Multiple Data)
  • 73. برداری‌سازی خودکار (Auto-Vectorization)
  • 74. نحوه نوشتن حلقه‌های قابل برداری‌سازی
  • 75. استفاده از توابع ذاتی کامپایلر (Compiler Intrinsics) برای SIMD
  • 76. بهینه‌سازی‌های بین رویه‌ای (Interprocedural Optimization – IPO)
  • 77. توابع خالص (Pure) و ثابت (Const)
  • 78. جداول پرش (Jump Tables) برای بهینه‌سازی دستور switch
  • 79. استفاده از ابزارهای پروفایلینگ (gprof, perf)
  • 80. تحلیل و تفسیر خروجی پروفایلر
  • 81. نحوه اندازه‌گیری دقیق عملکرد
  • 82. بررسی کد ماشین تولید شده (objdump, disassembler)
  • 83. استفاده از صفات خاص کامپایلر (__attribute__)
  • 84. استفاده از دستورات پراگما (#pragma) برای کنترل بهینه‌سازی
  • 85. موانع حافظه (Memory Barriers/Fences)
  • 86. مفهوم Data-Oriented Design
  • 87. بهینه‌سازی ضرب ماتریس: یک مطالعه موردی
  • 88. بهینه‌سازی الگوریتم‌های مرتب‌سازی
  • 89. تأثیر بهینه‌سازی بر اندازه کد اجرایی
  • 90. مبادله بین سرعت و اندازه (Space-Time Tradeoff)
  • 91. چه زمانی به کامپایلر اعتماد کنیم و چه زمانی به صورت دستی بهینه‌سازی کنیم
  • 92. محدودیت‌های بهینه‌سازی استاتیک
  • 93. کامپایلرهای Just-In-Time (JIT) در مقابل Ahead-Of-Time (AOT)
  • 94. آینده بهینه‌سازی کامپایلر و نقش هوش مصنوعی
  • 95. جمع‌بندی مفاهیم کلیدی و بهترین شیوه‌ها
  • 96. پروژه نهایی: پروفایل و بهینه‌سازی یک برنامه واقعی C
  • 97. **اشاره‌گرها و آرایه‌ها در C: مفاهیم پایه، محاسبات اشاره‌گر و کاربردها**
  • 98. **مدیریت حافظه پویا: تخصیص و آزادسازی حافظه با malloc و free، مشکلات رایج و روش‌های رفع آنها**
  • 99. **ساختارهای داده‌ای مقدماتی: آرایه‌ها، لیست‌های پیوندی و ساختمان‌ها (structs)**
  • 100. **مقدمه‌ای بر مفاهیم Optimization: سطوح مختلف Optimization، پروفایلینگ و ابزارهای تحلیل عملکرد**

📚 محتوای این محصول آموزشی (پکیج کامل)

💡 این محصول یک نسخهٔ کامل و جامع است

تمامی محتوای آموزشی این کتاب در قالب یک بسته‌ی کامل و یکپارچه ارائه می‌شود و شامل تمام نسخه‌ها و فایل‌های موردنیاز برای یادگیری است.

🎁 محتویات کامل بسته دانلودی

🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل کتاب‌ها، تمرین‌ها و خودآزمایی .


ℹ️ نکات مهم هنگام خرید

  • این محصول به صورت فایل دانلودی کامل ارائه می‌شود و نسخهٔ چاپی ندارد.
  • توجه: لینک‌های اختصاصی دوره طی حداکثر 24 ساعت پس از ثبت سفارش ارسال می‌شوند.
  • دقت کنید لینک ها به شماره موبایل شما ارسال می شوند. پس در ارائه شماره موبایل صحیح دقت کنید.
  • برای راهنمایی در مورد نحوه دانلود به شماره 09395106248 پیامک دهید یا تماس بگیرید. (ایده آل ترین گزینه ارسال پیام در یکی از پیام رسان ها به همین شماره است تا سریعا لینک های کتاب همانجا برای شما ارسال گردد.)
  • اگر پرداخت انجام شده ولی بعد از 24 ساعت هنوز لینک‌ها را دریافت نکرده‌اید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینک‌ها دوباره ارسال شوند.

💬 راه‌های ارتباطی پشتیبانی:
واتس‌اپ یا هر پیام رسان داخلی یا پیامک: 09395106248
تلگرام: @ma_limbs

دیدگاهها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین نفری باشید که دیدگاهی را ارسال می کنید برای “کتاب C و برنامه نویسی compiler optimization”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پیمایش به بالا