C++ in Embedded Systems

  • ناشرPackt
  • سال انتشار2025
  • ویرایش1
  • زبانEnglish
  • تعداد صفحات402
  • شابک9781835881149

شناسه محصول: SKY-CPP-CODE-A6230 دسته: , ,
برند: Packt

محدوده قیمت: 982,000 تومان تا 2,355,000 تومان

10 نفر در حال مشاهده این محصول هستند!

تحویل اکسپرس

حمل رایگان سفارشات بالای 1 میلیون تومان

پرداخت امن

امکان پرداخت انلاین یا پرداخت حضروی درب منزل

ضمانت اصالت کالا

امکان پرداخت انلاین یا پرداخت حضروی درب منزل

7 روز گارانتی بازگشت وجه

امکان پرداخت انلاین یا پرداخت حضروی درب منزل

فراتر از C بروید و با به‌کارگیری C++ مدرن در سیستم‌های نهفته، خوانایی، نگهداشت‌پذیری و مقیاس‌پذیری کد را ارتقا دهید.

ویژگی‌های کلیدی:

  • پر کردن فاصله بین C و C++ مدرن برای سیستم‌های نهفته با استفاده از مثال‌های عملی
  • یادگیری روش‌های کاهش مصرف حافظه و کاهش زمان پردازش از طریق تکنیک‌های محاسبه در زمان کامپایل (compile-time computation)
  • بهبود مهارت‌های طراحی نرم‌افزار با به‌کارگیری الگوها برای حل مشکلات رایج در سیستم‌های نهفته با استفاده از C++

معرفی کتاب:

گذار از C به C++ ممکن است چالش‌برانگیز باشد؛ نگرانی‌هایی مانند افت کارایی، افزایش پیچیدگی و ابزارهای ناشناخته وجود دارد. عمار مهموتبگوویچ، طرفدار استفاده از C++ مدرن در توسعه سیستم‌های نهفته، در این کتاب نشان می‌دهد که چگونه با بهره‌گیری از انتزاع‌های بدون هزینه (zero-cost abstractions)، بررسی‌های زمان کامپایل و قابلیت‌های قدرتمند C++ مدرن می‌توان ضمن حفظ کارایی، کدی ایمن‌تر، خواناتر و تمیزتر نوشت. این کتاب پلی است بین C سنتی و C++ پیشرفته؛ به گونه‌ای که کارایی مورد نیاز توسعه‌دهندگان C حفظ شده و هم‌زمان ایمنی و بیان‌پذیری C++ مدرن نیز به دست می‌آید.

با شروع از راه‌اندازی یک محیط توسعه مدرن، از جمله استفاده از کانتینر Docker برای اجرای بی‌دردسر مثال‌ها، خواهید آموخت چگونه محدودیت‌های استفاده از کتابخانه استاندارد C++ در محیط‌های کم‌حافظه را پشت سر بگذارید و با Embedded Template Library (ETL) به‌عنوان جایگزین آشنا شوید. سپس کتاب شما را از مفاهیم پایه C++ تا موضوعات پیشرفته مانند template‌ها، strong typing، مدیریت خطا، محاسبه در زمان کامپایل و RAII پیش می‌برد. در مثال‌های عملی، یک sequencer پیاده‌سازی می‌کنید، یک HAL نوع-ایمن می‌نویسید و الگوهایی مانند Command، State و Observer را برای حل مشکلات رایج توسعه نهفته به کار می‌برید.

در پایان، یاد خواهید گرفت چگونه با C++ مدرن، firmware‌هایی ماژولار و پایدار توسعه دهید که کارایی آن‌ها با کدهای C دست‌نویس برابری کرده یا حتی فراتر رود.

آنچه خواهید آموخت:

  • رفع باورهای غلط درباره استفاده از C++ در سیستم‌های نهفته
  • راه‌اندازی خودکارسازی ساخت (build automation) متناسب با C++ در محیط‌های محدود
  • استفاده از strong typing برای بهبود ایمنی نوع داده‌ها
  • به‌کارگیری تکنیک‌های C++ مدرن مانند RAII (Resource Acquisition Is Initialization)
  • استفاده از Domain Specific Language (DSL) با یک مثال عملی مبتنی بر Boost SML
  • پیاده‌سازی بهترین شیوه‌های توسعه نرم‌افزار، از جمله اصول SOLID، در توسعه سیستم‌های نهفته

مخاطبان کتاب:

این کتاب برای توسعه‌دهندگانی است که عمدتاً از C استفاده می‌کنند و می‌خواهند رویکرد C++ مدرن را در سیستم‌های نهفته به کار گیرند. این کتاب مفاهیم پایه C++ را آموزش می‌دهد و برای مبتدیان نیز مناسب است، اما فرض می‌کند خواننده با مبانی زبان آشناست تا بتواند از ویژگی‌های پیشرفته مانند محاسبه زمان کامپایل بهره کامل ببرد. حتی توسعه‌دهندگانی که تجربه C++ دارند، روش‌های نوینی برای به‌کارگیری بهترین شیوه‌های مدرن و نوشتن برنامه‌های نهفته کاراتر و نگهداشت‌پذیرتر خواهند یافت.

Go beyond C by applying modern C++ in embedded systems to enhance code readability, maintainability, and scalability

Key Features

  • Bridge the gap between C and modern C++ for embedded systems through practical examples
  • Learn how to save memory and cut down on runtime computing using compile-time computation techniques
  • Improve your software design skills by applying patterns to solve common problems in embedded systems using C++

Book Description

Transitioning from C can be daunting, with concerns about performance overhead, added complexity, and unfamiliar tooling. Addressing these challenges, Amar Mahmutbegovic, an advocate for modern C++ in embedded development, shows you how to harness zero-cost abstractions, compile-time checks, and powerful modern C++ capabilities to preserve performance while achieving safer, cleaner code. This book bridges the gap between traditional C and advanced C++, helping you retain the efficiency C developers demand while unlocking the safety and expressiveness of modern C++.

Starting with a modern development environment setup, including a Docker container for seamless example replication, you’ll overcome the hurdles of using the C++ standard library in memory-constrained settings and get acquainted with the Embedded Template Library (ETL) as an alternative. The book walks you through essential C++ concepts before exploring advanced topics such as templates, strong typing, error handling, compile-time computation, and RAII. Through practical examples, you’ll implement a sequencer, write a type-safe HAL, and apply patterns like Command, State, and Observer to solve common embedded development problems.

By the end of this book, you’ll have learned how to apply modern C++ to develop robust, modular firmware with performance matching or exceeding hand-coded C solutions.

What you will learn

  • Debunk myths and misconceptions about using C++ in embedded systems
  • Set up build automation tailored for C++ in constrained environments
  • Leverage strong typing to improve type safety
  • Apply modern C++ techniques, such as Resource Acquisition Is Initialization (RAII)
  • Use Domain Specific Language (DSL) with a practical example using Boost SML
  • Implement software development best practices, including the SOLID principle, in embedded development

Who this book is for

This book is for embedded developers who primarily use C and want to adopt a modern C++ approach. It introduces fundamental C++ concepts, making it suitable for beginners, while also assuming basic familiarity to fully leverage advanced features like compile-time computation. Even those with prior C++ experience will discover new ways to apply modern best practices to write more efficient and maintainable embedded applications.

Table of Contents

Part I: Introduction to C++ in Embedded Development

Chapter 1: Debunking Common Myths about C + +

Chapter 2: Challenges in Embedded Systems with Limited Resources

Chapter 3: Embedded C++ Ecosystem

Chapter 4: Setting Up the Development Environment for a C++ Embedded Project

Part II: C++ Fundamentals

Chapter 5: Classes – Building Blocks of C++ Applications

Chapter 6: Beyond Classes – Fundamental C++ Concepts

Chapter 7: Strengthening Firmware – Practical C++ Error Handling Methods

Part Ill: C++ Advanced Concepts

Chapter 8: Building Generic and Reusable Code with Templates

Chapter 9: Improving Type-Safety with Strong Types

Chapter 10: Writing Expressive Code with Lambdas

Chapter 11: Compile-Time Computation

Part IV: Applying C++ to Solving Embedded Domain Problems

Chapter 12: Writing C++ HAL

Chapter 13: Working with C Libraries

Chapter 14: Enhancing Super-Loop with Sequencer

Chapter 15: Practical Patterns – Building a Temperature Publisher

Chapter 16: Designing Scalable Finite State Machines

Chapter 17: Libraries and Frameworks

Chapter 18: Cross-Platform Development

About the Author

Amar Mahmutbegović is the co-founder and head of engineering at Semblie, where he leads the utilization of modern C++ for firmware development. His expertise extends to working on BLE consumer devices and medical devices, delivering sophisticated solutions for a wide range of clients, including start-ups. Amar’s dedication to innovation helps bring electronic product ideas to the world. Amar actively shares C++ benefits in the embedded community via blogs and LinkedIn. He also mentors young engineers, enhancing their skills in modern development practices. His work aims to make embedded systems more accessible, maintainable, and scalable, bridging the gap between traditional methods and modern efficiencies for developers worldwide.

ناشرPackt
ویرایش1
زبانEnglish
سال انتشار2025
شابک9781835881149
تعداد صفحات402
قطعB5
کیفیتاورجینال انتشارات
نوع چاپرنگی, سیاه و سفید
نوع جلدجلد سخت, شومیز, طلقی

نقد و بررسی‌ها

هنوز بررسی‌ای ثبت نشده است.

اولین کسی باشید که دیدگاهی می نویسد “C++ in Embedded Systems”

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

محدوده قیمت: 982,000 تومان تا 2,355,000 تومان

محصولات مشابه