Mastering CMake Basics: Practical Compilation from Scratch

Mastering CMake Basics: Practical Compilation from Scratch

1. Introduction to CMake CMake is a cross-platform installation (compilation) tool that can describe the installation (compilation process) for all platforms using simple statements. It can output various makefiles or project files, and can test the C++ features supported by the compiler, similar to automake under UNIX. The configuration file for CMake is named CMakeLists.txt. … Read more

Getting Started with CMake: From Hello World to Complex Projects

Getting Started with CMake: From Hello World to Complex Projects

Hello, today we are going to delve into a topic that many people pay attention to but often do not take seriously—Getting Started with CMake: From Hello World to Complex Multi-Module Project Builds. Today, we will start from scratch and explore how to use CMake to build projects, making it a powerful assistant for managing … Read more

Learning CMake When Necessary

Learning CMake When Necessary

Recently, I was working on a project that required knowledge of CMake. Previously, I was involved in BSP driver development, where CMake was not used at all. The only intersection with CMake was during the porting of the gateway project, which involved only minor modifications. It wasn’t until I started developing a project with CMake … Read more

Managing Multiple Modules in CMake

Managing Multiple Modules in CMake

Background CMake CMake is a cross-platform open-source build tool used to manage and automatically generate the build process of software projects. CMake automatically generates build system files suitable for different compilers and operating systems, such as Makefile and Visual Studio solutions, based on the descriptions in the CMakeLists.txt file. Multiple Modules Typically, a project will … Read more

CMake: Using Control Flow

CMake: Using Control Flow

Introduction: In previous examples, we have used if-else-endif. CMake also provides language tools for creating loops: foreach-endforeach and while-endwhile. Both can be combined with break to exit the loop early. This article also serves as the conclusion of the first chapter, marking our official entry into learning CMake. ✦ Project Structure ✦ . ├── cal_add.h … Read more

GCC Magic Programming: From Idiom Games to Poetry Generation

GCC Magic Programming: From Idiom Games to Poetry Generation

In this era where technology intertwines with culture, programming is not only an art of technology but also a bridge connecting tradition and the future.Today, we will embark on a magical programming journey with the GCC compiler, traveling from idiom games to poetry generation, and finally to industrial control applications.This is not just a feast … Read more

Exploring the Rust Compiler: GCC vs LLVM

Exploring the Rust Compiler: GCC vs LLVM

The Rust compiler uses a borrow checker to optimize code performance and memory management. Rust code is compiled using the official compiler rustc. rustc uses LLVM optimizations on the backend to convert high-level Rust code into low-level machine code. However, a new GCC frontend called gccrs has recently emerged as an alternative to the rustc … Read more

The Dance of Compilation: C/C++ and GCC Collaboration

The Dance of Compilation: C/C++ and GCC Collaboration

On the modern stage of computing, programming languages are like dancers, while compilers are the choreographers guiding them from behind the scenes. Every piece of code written is like a carefully designed dance. On this stage, C language and GCC (GNU Compiler Collection) are a classic duo. Together, they perform a magnificent dance of compilation, … Read more

Common Linux GCC Commands

Common Linux GCC Commands

(Click the public account above to quickly follow) Source: ggjucheng Link: http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html 1 Introduction The meaning of GCC is just GNU C Compiler. After so many years of development, GCC now supports not only C language; it also supports Ada, C++, Java, Objective C, Pascal, COBOL, and even functional and logic programming languages like Mercury, … Read more

Creating IAR Project for KEA128 Chip

Creating IAR Project for KEA128 Chip

Teacher Zhu, this tutorial is based on notes I整理ed from a recent competition. I remember that there was very little information online about the KEA128 application in smart car competitions. I have graduated but couldn’t bear to delete these materials. If you think this article might be useful for everyone (especially those just starting with … Read more