Maintaining consistent code formatting is essential for writing readable, maintainable code. This blog post explores how to use Bitbucket Pipelines and clang-format to automatically test code formatting, catch errors early in the development process, and maintain a tidy, readable codebase.
Design patterns can greatly enhance your C++ development skills, making your code more modular, maintainable, and scalable. By understanding creational, structural, and behavioral patterns, you can simplify complex problems and streamline your code. By incorporating design patterns into your development process, you can become a more conscious software developer and create better software.
Learn how to create high-quality C++ code with best practices such as using standard type definitions, organizing data into objects, and enforcing const-correctness. See why single exit points and code style are important, and discover how to create maintainable and efficient code.
When writing C++ code, proper scoping of variables and pointers is critical to ensuring the efficiency, reliability, and maintainability of your programs. Pointers, in particular, require special attention, as they have their own lifetime and can lead to memory leaks if not handled properly.
Include the right version right in your repo; provide a custom command to update CPM.cmake — example Setup cmake_modules path — example CMake Best Practices CMake is a cross-platform build system that can be used to build, test, and package software projects. One of the most powerful features of CMake is the ability to manage... » read more
CMake is an open-source, cross-platform build system that helps developers to manage their projects and build them on different platforms. It is widely used in the software development community, especially for C and C++ projects. In this blog post, we will explore how to use CMake effectively to manage your projects and improve your workflow... » read more
C++17 is a version of the C++ programming language that was standardized in 2017, and adds additonal new features and improvements to what is considered “modern C++”. Some major new features that I have really loved in C++17 include: In embedded systems, support for C++17 will depend on the compiler and platform you are using.... » read more
I recently had the opportunity, or the critical need rather, to optimize the boot time of some applications on an iMX6ULL processor. For anyone unfamiliar with this processor, it is a single core ARM processor running a Cortex-A7 core at up to 900 MHz. It provides a number of common interfaces for a microprocessor, including... » read more
Generating a kernel configuration fragment is a common task in kernel development when working with the Yocto Project. Configuration fragments are extremely useful to define groups of kernel configuration options that you can then reuse between projects simply by adding the fragment to your kernel bbappend file. For example, if I wanted to enable USB... » read more