C++ in Embedded Systems
A practical transition from C to modern C++Amar Mahmutbegovic
- ناشرPackt
- سال انتشار2025
- ویرایش1
- زبانEnglish
- تعداد صفحات402
- شابک9781835881149
982,000 تومان – 2,355,000 تومانمحدوده قیمت: 982,000 تومان تا 2,355,000 تومان
تحویل اکسپرس
حمل رایگان سفارشات بالای 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 |
| کیفیت | اورجینال انتشارات |
| نوع چاپ | رنگی, سیاه و سفید |
| نوع جلد | جلد سخت, شومیز, طلقی |
محصولات مشابه

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