Skip to content

Lexicon Entry

C/C++

C and C++ are compiled, statically-typed systems programming languages. They provide direct access to memory manipulation and hardware-level operations, making them the standard for OS kernels, drivers, and compilers.

Related Knowledge & Cross-References

Guide
Apr 28, 2026

Linker Explained: How Object Files Become Executables (Static & LTO)

Learn how the linker transforms object files into executables. Explore symbol resolution, relocation records, static vs dynamic linking, and Link-Time Optimization with real readelf and nm examples.

Continue Reading
Guide
Apr 9, 2026

Register Allocation in Compilers: How Variables Fit into CPU Registers

Discover how compilers solve register allocation — mapping thousands of virtual registers to 16 (x86-64) or 31 (ARM64) physical ones. See graph coloring, spilling, and rematerialization with real Godbolt examples.

Continue Reading
Guide
Apr 5, 2026

The Ultimate Guide to Compiler Optimization Passes: Boosting Performance with -O2

You’ve been there. You write a complex calculation in C, compile it, and it feels a bit sluggish. You open your `Makefile`, add `-O2` to your `CFLAGS`, recompile, and suddenly your program is executing three times faster. But what actually is the compiler doing under the hood? Is it magic? Is it just removing debug…

Continue Reading
Guide
Apr 1, 2026

Compiler Lexer & Parser Demystified: How Compilers Read Your C Code

Learn how a compiler lexer and parser transform C source into tokens and ASTs. Hands-on with Clang's -dump-tokens and -ast-dump across real examples.

Continue Reading
Guide
Mar 31, 2026

How a C Program Becomes Machine Code: The C Compilation Process Explained

Trace the complete C compilation process from source code to executable binary. See each stage — preprocessing, compilation, assembly, and linking — with real GCC and Clang output across x86-64 and ARM64.

Continue Reading
Guide
Feb 15, 2026

Dynamic Linking & Relocations: How the GOT and PLT Work

How does code call functions that aren't there yet? We dive deep into the Global Offset Table (GOT), Procedure Linkage Table (PLT), and the lazy binding dance.

Continue Reading