Back to Search

C++ in Embedded Systems: A practical transition from C to modern C++

AUTHOR Mahmutbegovic, Amar; Branam, Steve
PUBLISHER Packt Publishing (07/02/2025)
PRODUCT TYPE Paperback (Paperback)

Description

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++

- Purchase of the print or Kindle book includes a free PDF eBook

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

- Debunking Common Myths about C++

- Challenges in Embedded Systems with Limited Resources

- Embedded C++ Ecosystem

- Setting Up the Development Environment for a C++ Embedded Project

- Classes - Building Blocks of C++ Applications

- Beyond Classes - Fundamental C++ Concepts

- Strengthening Firmware - Practical C++ Error Handling Methods

- Building Generic and Reusable Code with Templates

- Improving Type-Safety with Strong Types

- Writing Expressive Code with Lambdas

- Compile-Time Computation

- Writing C++ HAL

- Working with C Libraries

- Enhancing Super-Loop with Sequencer

- Practical Patterns - Building a Temperature Publisher

- Designing Scalable Finite State Machines

- Libraries and Frameworks

- Cross-Platform Development

Show More
Product Format
Product Details
ISBN-13: 9781835881149
ISBN-10: 1835881149
Binding: Paperback or Softback (Trade Paperback (Us))
Content Language: English
More Product Details
Page Count: 402
Carton Quantity: 10
Product Dimensions: 7.50 x 0.82 x 9.25 inches
Weight: 1.52 pound(s)
Country of Origin: US
Subject Information
BISAC Categories
Computers | Languages - C++
Computers | Computer Architecture
Computers | Hardware - Chips & Processors
Descriptions, Reviews, Etc.
publisher marketing

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++

- Purchase of the print or Kindle book includes a free PDF eBook

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

- Debunking Common Myths about C++

- Challenges in Embedded Systems with Limited Resources

- Embedded C++ Ecosystem

- Setting Up the Development Environment for a C++ Embedded Project

- Classes - Building Blocks of C++ Applications

- Beyond Classes - Fundamental C++ Concepts

- Strengthening Firmware - Practical C++ Error Handling Methods

- Building Generic and Reusable Code with Templates

- Improving Type-Safety with Strong Types

- Writing Expressive Code with Lambdas

- Compile-Time Computation

- Writing C++ HAL

- Working with C Libraries

- Enhancing Super-Loop with Sequencer

- Practical Patterns - Building a Temperature Publisher

- Designing Scalable Finite State Machines

- Libraries and Frameworks

- Cross-Platform Development

Show More
Your Price  $47.49
Paperback