BDWGC: An Efficient Garbage Collector in C++

BDWGC: An Efficient Garbage Collector in C++

BDWGC: An Efficient Garbage Collector in C++ BDWGC (Boehm-Demers-Weiser conservative garbage collector) is an efficient, open-source garbage collector for C and C++ programs. It helps developers automate memory management, avoiding errors that can occur with manual memory management, such as memory leaks and dangling pointers. Project Overview BDWGC is a conservative garbage collection library that … Read more

Key Differences Between Operators in Java and C++

Key Differences Between Operators in Java and C++

A summary of the main differences between operators in Java and C++ is provided. Please add any omissions. Pointer and Reference Operators Available in C++, Not in Java: // C++ – Pointer and Reference Operators int x = 10; int* ptr = &x; // Address-of operator (&) int value = *ptr; // Dereference operator (*) … Read more

Embracing Modern C++: Moving Away from malloc/setjmp, and Adopting new/bool/Exception Handling

Embracing Modern C++: Moving Away from malloc/setjmp, and Adopting new/bool/Exception Handling

During the transition from C to C++ development, many developers unconsciously continue to use familiar C language features. However, C++ offers safer, more powerful, and expressive mechanisms to replace these traditional C methods. This article will detail how to replace <span>malloc()/free()</span>, <span>setjmp()/longjmp()</span>, and <span>int</span> type boolean flags with C++’s <span>new/delete</span>, <span>try/catch/throw</span> exception handling mechanism, and … Read more

Common Causes of Microcontroller Crashes and Solutions

Common Causes of Microcontroller Crashes and Solutions

Follow+Star Public Account Number, don’t miss exciting contentSource | Embedded Software Guest House During the development of microcontroller projects, crashes are one of the most troublesome issues. A crash can affect user experience at best, and at worst, it may lead to device damage or safety incidents. Common Causes of Crashes Classification of Causes Hardware … Read more

Smart Pointers in the Linux Kernel

Smart Pointers in the Linux Kernel

Familiarity with C++ means that students should be well-acquainted with std::unique_ptr, which is one of the smart pointers used in C++ to manage the lifecycle of dynamically allocated memory. Its core design principles are twofold: first, when a smart pointer goes out of scope, the memory it points to is automatically released, thus avoiding memory … Read more

Comprehensive VxWorks Programming Guide (2025 Edition)

Comprehensive VxWorks Programming Guide (2025 Edition)

VxWorks is one of the most widely used real-time operating systems (RTOS) in critical mission fields such as aerospace, defense, automotive, robotics, and industrial control. VxWorks is trusted for its determinism, safety certification, and security, and continues to evolve, providing developers with modern tools, container support, and flexible programming models. This guide provides a comprehensive … Read more

Essential Topics to Prepare for Embedded Software Interviews

Essential Topics to Prepare for Embedded Software Interviews

Pointers and Arrays: Stop Saying “Pointers are Just Addresses” This is the “appetizer” for embedded interviews, but 80% of candidates fail to provide a deep answer. For example, when asked about the “difference between pointers and arrays,” simply stating “the array name is a constant pointer” is insufficient; it must be explained in the context … Read more

In-Depth Analysis of C++ Containers: The Ultimate Comparison and Practical Guide for Vector and List

In-Depth Analysis of C++ Containers: The Ultimate Comparison and Practical Guide for Vector and List

1. Core Differences: Memory Structure Determines Performance CharacteristicsVector uses a contiguous memory layout, with elements arranged neatly like soldiers, supporting O(1) complexity for random access, but insertion and deletion require moving subsequent elements. List, on the other hand, resembles a pearl necklace, with each node connected by pointers, supporting O(1) complexity for insertion and deletion … Read more

Philosophical Reflections in C++

Philosophical Reflections in C++

Click the blue text to follow us Introduction “Before the program runs, the thought comes first.” In the realm of computer science, C++ occupies an important position with its unique philosophical system. C++ is a powerful yet complex programming language designed by Bjarne Stroustrup[1](Figure 1), which supports multiple programming styles. It is not only an … Read more