Fading Coder

One Final Commit for the Last Sprint

Rust Programming Fundamentals: Syntax, Data Structures, and Memory Management

fn greet_world() { println!("Hello, world!"); let german_greeting = "Grüß Gott!"; let japanese_greeting = "ハロー・ワールド"; let greetings = [german_greeting, japanese_greeting]; for greeting in greetings.iter() { println!("{}", greeting); } } fn main() { greet_world...

Singly Linked List Implementation in C: Complete Guide with Memory-Safe Operations

A linked list is a dynamic data structure consisting of elements connected through pointers. Unlike arrays, elements are not stored contiguously in memory, allowing efficient insertions and deletions without reallocation. Each element contains data and a reference to the subsequent element. Node Str...

Dynamic Memory Allocation and Generic Programming in C++

Heap Allocation with new and delete C++ replaces traditional C allocation routines with operators that seamlessly integrate object lifecycles. Primitive Data Allocation Fundamental types use straightforward syntax. Single items require new/delete, while contiguous blocks require new[]/delete[]. Mism...

Fundamentals of C Programming Language

Compilation Process in Linux C C Compilers GNU GCC Microsoft Visual C++ (MSVC) Apple Clang Intel C++ Compiler Default Linux compiler: cc Programming Language Classification Compiled Languages (C, C++, Java) Convert source code to machine instructions Perform type safety checks High performance Less...

ARM Linux Memory Layout and MMU Configuration: Device Tree, Memblock, and Page Tables

Kernel virtual address map on 32‑bit ARM PAGE_OFFSET: base of kernel virtual space at 0xC000_0000 lowmem: direct linear mapping of RAM into the kernel (virt = phys + PAGE_OFFSET); capped at 896 MiB HIGH_MEMORY: first virtual address not linearly mapped (end of lowmem) pkmap: permanent mappings for h...

Accessing Physical Memory with /dev/mem and mmap on Linux

Accessing Physical Memory with /dev/mem and mmap on Linux Overview For low-level debugging and register poking, user-space can reach device registers or RAM by mapping physical addresses through /dev/mem. Tools like devmem do this by invoking mmap on the /dev/mem character device, establishing a vir...