0
نام کتاب
C++ in Embedded Systems

A practical transition from C to modern C++

Amar Mahmutbegovic

Paperback402 Pages
PublisherPackt
Edition1
LanguageEnglish
Year2025
ISBN9781835881149
191
A6230
انتخاب نوع چاپ:
جلد سخت
723,000ت
0
جلد نرم
653,000ت
0
طلق پاپکو و فنر
663,000ت
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:دارای متن و کادر رنگی
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#C++

#SOLID

#SML

#RAII

#ETL

#C

توضیحات

فراتر از 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.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
++C
2,122
Advanced C++ Programming Cookbook
702,000 تومان
++C
1,431
C++ Crash Course
1,293,000 تومان
++C
1,298
Data Structures and Algorithms in C++
1,226,000 تومان
++C
1,438
Test-Driven Development with C++
772,000 تومان
++C
1,006
C++20 The Complete Guide
739,000 تومان
++C
868
C++ Windows Programming
1,033,000 تومان
++C
1,005
Advanced C++
1,256,000 تومان
++C
1,097
Learn LLVM 17
670,000 تومان
++C
1,086
The Art of Writing Efficient Programs
728,000 تومان
++C
899
Practical C++20 Financial Programming
968,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما
چاپ دیجیتال اسکای بوک. 2024-2022 ©