Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
C++ in Embedded Systems

You're reading from   C++ in Embedded Systems A practical transition from C to modern C++

Arrow left icon
Product type Paperback
Published in Jul 2025
Publisher Packt
ISBN-13 9781835881149
Length 402 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Amar Mahmutbegović Amar Mahmutbegović
Author Profile Icon Amar Mahmutbegović
Amar Mahmutbegović
Arrow right icon
View More author details
Toc

Table of Contents (25) Chapters Close

Preface
1. Part I: Introduction to C++ in Embedded Development
2. Debunking Common Myths about C++ FREE CHAPTER 3. Challenges in Embedded Systems with Limited Resources 4. Embedded C++ Ecosystem 5. Setting Up the Development Environment for a C++ Embedded Project 6. Part II: C++ Fundamentals
7. Classes – Building Blocks of C++ Applications 8. Beyond Classes – Fundamental C++ Concepts 9. Strengthening Firmware – Practical C++ Error Handling Methods 10. Part III: C++ Advanced Concepts
11. Building Generic and Reusable Code with Templates 12. Improving Type-Safety with Strong Types 13. Writing Expressive Code with Lambdas 14. Compile-Time Computation 15. Part IV: Applying C++ to Solving Embedded Domain Problems
16. Writing C++ HAL 17. Working with C Libraries 18. Enhancing Super-Loop with Sequencer 19. Practical Patterns – Building a Temperature Publisher 20. Designing Scalable Finite State Machines 21. Libraries and Frameworks 22. Cross-Platform Development 23. Other Books You May Enjoy
24. Index

Static analyzers

Static analyzers are tools that go through source code and detect potential issues with the code such as undefined behavior, or they check whether the code is compliant with a safety standard such as MISRA® or AUTOSAR®. Not all static analyzers have the same capabilities, and only commercial versions support safety standards checks. Some of the issues that can be detected with static analyzers are as follows:

  • Use of uninitialized data
  • Out-of-bounds array access
  • Null pointers dereference
  • Division by zero
  • Use after delete, double delete, and other memory management issues

We can enable GCC’s static analyzer by providing the GCC driver program with the –fanalyzer flag. Let us take an example of a simple sum function that takes a std::array<int, 4> constant reference and returns the sum shown in the following example:

#include <array>
int sum(const std::array<int, 4> &arr) {...
lock icon The rest of the chapter is locked
Visually different images
CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
C++ in Embedded Systems
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Modal Close icon
Modal Close icon