Understanding the Compilation Process of GCC

Understanding the Compilation Process of GCC

The compilation process of GCC mainly includes four stages: preprocessing, compilation, assembly, and linking. During this process, three tools are used: cc1, as, and collect2. Among them, cc1 is the compiler corresponding to the first and second stages, used to compile the source file hello.c into hello.s; as is the assembler corresponding to the third … Read more

Segment Definition and Linking in Modular Assembly Language Programming

Segment Definition and Linking in Modular Assembly Language Programming

Relationship Between Modular Program Structure and Segments In the 8086/8088 architecture, memory is managed in segments. Therefore, when a complex program consists of multiple modules, each module may contain several segments. The linker needs to combine these scattered segments into a final executable program. Basic Concepts of Module Linking: Source Module: Can be written in … Read more

Understanding the Four Stages of C Language Compilation and Linking: Preprocessing, Compilation, Assembly, and Linking Revealed!

Understanding the Four Stages of C Language Compilation and Linking: Preprocessing, Compilation, Assembly, and Linking Revealed!

Hello everyone, I am Xiaokang. Do you remember the first line of code you typed? printf("Hello, World!\n"); You clicked “Run”, and then magically “Hello, World!” appeared on the screen. But have you ever wondered what happens at that moment when you click “Run”? How do those characters you typed turn into instructions that the computer … Read more

CMake Insights: A Case Study with FAST-LIO

CMake Insights: A Case Study with FAST-LIO

Review: Why do we use Make and CMake tools? The main reasons are to automate the build process, manage dependencies, and simplify cross-platform development for complex project compilation requirements: Large C++ projects often consist of multiple source files, header files, and library dependencies, making manual compilation commands (like <span>g++</span>) error-prone and inefficient. Dependency Management: Build … Read more

Three Questions About Makefile in Linux

Three Questions About Makefile in Linux

(This image is sourced from the internet. If there is any infringement, please contact for removal.) What is a makefile? A makefile is a file used to describe how to compile and link a program. It contains rules for compilation and linking, dependencies, target files, and other information. By writing a makefile, you can automate … Read more

Linux | GCC Compilation Guide

Linux | GCC Compilation Guide

01 Why learn embedded Linux and embedded microcontrollers? Because AI will not be able to replace them in the next decade. GCC, which stands for GNU Compiler Collection, is a compilation suite that supports various computer architectures such as X86, ARM, and MIPI. The GCC that we use is included by default in Ubuntu.GCC options … Read more