Tagged articles
186 articles
Page 1 of 2
IT Services Circle
IT Services Circle
May 9, 2026 · Industry Insights

The French Programmer Whose C Code Stunned the World

The article chronicles French programmer Fabrice Bellard’s extraordinary career, highlighting his groundbreaking C projects—from the LZEXE compressor and the Harissa JVM to FFmpeg, QEMU, TinyCC, QuickJS, and a record‑breaking Pi calculation—showcasing how a single developer reshaped multiple domains of software engineering.

C programmingFabrice BellardQEMU
0 likes · 10 min read
The French Programmer Whose C Code Stunned the World
Liangxu Linux
Liangxu Linux
May 6, 2026 · Fundamentals

What’s the Ideal Learning Path for Embedded Software Development?

The article outlines a step‑by‑step learning roadmap for embedded software engineers, emphasizing the need to define goals, master C and hardware basics, understand RTOS and Linux, build hands‑on projects, develop debugging skills, and commit to continuous learning.

C programmingLinuxRTOS
0 likes · 5 min read
What’s the Ideal Learning Path for Embedded Software Development?
Deepin Linux
Deepin Linux
Apr 19, 2026 · Fundamentals

How Linux Fork Uses Copy‑On‑Write to Boost Process Creation Efficiency

This article explains the fork system call in the Linux kernel, details the copy‑on‑write (COW) mechanism that underpins its efficiency, provides code examples, and explores practical scenarios and performance implications for process creation, memory usage, and concurrent server programming.

C programmingCOWCopy-on-Write
0 likes · 36 min read
How Linux Fork Uses Copy‑On‑Write to Boost Process Creation Efficiency
ITPUB
ITPUB
Mar 21, 2026 · Backend Development

What Linus Missed in Git’s Init: Deep Dive into C Code and Memory Leaks

The article examines Linus Torvalds’s original Git init implementation, walking through the C source files, explaining how directories are created, why a 40‑byte offset is added to allocated memory, and highlighting a missing free() call that leads to a memory leak, while discussing when manual deallocation is necessary.

C programmingGitMemory Management
0 likes · 8 min read
What Linus Missed in Git’s Init: Deep Dive into C Code and Memory Leaks
IT Services Circle
IT Services Circle
Mar 5, 2026 · Fundamentals

Simulating OOP Polymorphism in C with Function Pointers and Vtables

The article walks through a C programmer's journey from hard‑coded if‑else shape handling to embedding function pointers in structs, introducing shared function tables, automatic initialization, memory savings, inheritance via table overrides, and finally showing how C++ virtual functions automate the same mechanism.

C programmingInheritancePolymorphism
0 likes · 10 min read
Simulating OOP Polymorphism in C with Function Pointers and Vtables
Deepin Linux
Deepin Linux
Mar 5, 2026 · Fundamentals

Unveiling malloc: How C Allocates Memory Behind the Scenes

This comprehensive guide explains the inner workings of the C malloc function, covering memory layout, stack vs heap, glibc memory pools, system calls like brk/sbrk and mmap, allocation strategies, fragmentation, alignment, multithreading safety, and comparisons with calloc, realloc, and C++ new.

C programmingglibcheap management
0 likes · 53 min read
Unveiling malloc: How C Allocates Memory Behind the Scenes
Deepin Linux
Deepin Linux
Feb 2, 2026 · Fundamentals

Mastering Linux IPC: Pipes, Message Queues, Shared Memory, Semaphores, Signals & Sockets Explained

This comprehensive guide breaks down Linux inter‑process communication (IPC) by explaining its core concepts, why it’s needed, and detailing six mechanisms—pipes, named pipes, message queues, shared memory, semaphores/PV operations, signals, and sockets—complete with code samples, diagrams, and real‑world usage scenarios.

C programmingIPCLinux
0 likes · 49 min read
Mastering Linux IPC: Pipes, Message Queues, Shared Memory, Semaphores, Signals & Sockets Explained
Linux Tech Enthusiast
Linux Tech Enthusiast
Feb 1, 2026 · Interview Experience

Top Embedded Linux Driver Interview Questions for Major Tech Companies

This article compiles a comprehensive set of technical interview questions and concise answers covering Linux kernel‑user communication, interrupt handling, memory allocation strategies, macros, endianness, cache hierarchy, process context, DMA, virtual memory translation, debugging tools, and driver initialization, aimed at candidates preparing for embedded Linux driver roles.

C programmingLinux kernelOperating System
0 likes · 16 min read
Top Embedded Linux Driver Interview Questions for Major Tech Companies
Deepin Linux
Deepin Linux
Jan 28, 2026 · Fundamentals

Unlock Linux Performance: Master Memory Alignment and Struct Optimization

This article explains the core principles of memory alignment on Linux, shows how misaligned data harms CPU cache and execution speed, provides concrete C code examples and benchmark results, and offers practical techniques—including compiler directives and struct layout tricks—to achieve optimal performance.

C programmingLinuxPerformance Optimization
0 likes · 22 min read
Unlock Linux Performance: Master Memory Alignment and Struct Optimization
Deepin Linux
Deepin Linux
Jan 24, 2026 · Fundamentals

Unlocking Linux Performance: A Deep Dive into io_uring and Its Advantages

This comprehensive guide explains why traditional I/O models become bottlenecks in high‑performance computing, introduces the modern io_uring framework with its submission and completion queues, walks through its design goals, core concepts, workflow, performance comparisons, optimization tips, real‑world use cases, and provides complete C examples for practical adoption.

C programmingLinuxPerformance Optimization
0 likes · 48 min read
Unlocking Linux Performance: A Deep Dive into io_uring and Its Advantages
IT Services Circle
IT Services Circle
Jan 19, 2026 · Fundamentals

Why Learning C Is Still Crucial in the AI Era

In an age where AI can generate code, mastering C remains essential because it reveals the low‑level mechanisms of memory, pointers, and CPU behavior that high‑level languages hide, enabling developers to write high‑performance software and stay valuable in the job market.

AI eraC programmingSoftware Engineering
0 likes · 5 min read
Why Learning C Is Still Crucial in the AI Era
ITPUB
ITPUB
Jan 13, 2026 · Fundamentals

Unlocking Linux Ext2: From Superblock Basics to Inode Data Extraction

This article walks readers through Linux file‑system fundamentals, explains the role of the Virtual File System (VFS), dives deep into ext2 structures such as superblocks, group descriptors, block and inode bitmaps, and provides complete C code for reading file contents directly by inode number.

C programmingExt2Linux
0 likes · 29 min read
Unlocking Linux Ext2: From Superblock Basics to Inode Data Extraction
Deepin Linux
Deepin Linux
Jan 4, 2026 · Fundamentals

Unlocking Linux Shared Memory: Deep Dive into IPC Mechanics and Implementation

This article thoroughly explains Linux shared memory, covering its advantages over other IPC methods, the kernel data structures, virtual‑physical mapping, creation and destruction APIs, copy‑on‑write behavior, and provides complete example code for inter‑process communication.

C programmingIPCMemory Management
0 likes · 46 min read
Unlocking Linux Shared Memory: Deep Dive into IPC Mechanics and Implementation
Deepin Linux
Deepin Linux
Dec 31, 2025 · Fundamentals

Unlocking Linux Signal Stacks: Why They Exist and How to Use Them Safely

This article explains the purpose of Linux's separate signal stack, how it differs from the regular process stack, the mechanics of signal delivery, practical code examples for enabling and using it, and why it matters for stability, real‑time processing, multithreading, and performance optimization.

C programmingLinuxSIGSTKSZ
0 likes · 28 min read
Unlocking Linux Signal Stacks: Why They Exist and How to Use Them Safely
Deepin Linux
Deepin Linux
Dec 22, 2025 · Fundamentals

Mastering Linux Process Stacks: Theory, Debugging, and Stack Overflow Prevention

This comprehensive guide explains the Linux process stack architecture, stack frame layout, function call mechanics, dynamic growth limits, common pitfalls such as stack overflow and memory leaks, and demonstrates debugging techniques with gdb, pstack, and perf, plus a real‑world C++ example.

C programmingDebuggingLinux
0 likes · 37 min read
Mastering Linux Process Stacks: Theory, Debugging, and Stack Overflow Prevention
dbaplus Community
dbaplus Community
Dec 4, 2025 · Fundamentals

Exploring Linux Filesystems: VFS, ext2 Superblock, and Inode Access

This article guides readers through Linux file system fundamentals, explaining the role of the virtual file system (VFS), detailed structures of the ext2 superblock, group descriptors, block and inode bitmaps, and provides C code examples for extracting and reading file data directly via inode numbers.

C programmingDisk LayoutExt2
0 likes · 27 min read
Exploring Linux Filesystems: VFS, ext2 Superblock, and Inode Access
Liangxu Linux
Liangxu Linux
Nov 22, 2025 · Fundamentals

How to Build a Scalable Embedded Power‑Management Framework with Observer and Responsibility Chains

This article explains how AIoT‑era embedded devices evolve from simple C/assembly code to reusable, portable frameworks by applying design patterns such as the Observer pattern and a custom responsibility‑chain model for low‑power management, complete with code examples, memory‑pool handling, and test cases.

AIoTC programmingDesign Patterns
0 likes · 16 min read
How to Build a Scalable Embedded Power‑Management Framework with Observer and Responsibility Chains
Liangxu Linux
Liangxu Linux
Nov 17, 2025 · Fundamentals

30 Proven C Optimization Tricks to Supercharge Embedded Code Performance

This article presents a comprehensive collection of low‑level C optimization techniques for embedded systems, covering algorithm selection, data type choices, arithmetic shortcuts, loop transformations, structure layout, function inlining, register usage, and many practical code examples to dramatically improve execution speed and reduce code size.

C programmingCode Optimizationembedded systems
0 likes · 26 min read
30 Proven C Optimization Tricks to Supercharge Embedded Code Performance
Liangxu Linux
Liangxu Linux
Nov 11, 2025 · Fundamentals

How to Classify C Functions for Cleaner Code and Better Optimization

This article explains three practical categories for C functions—pure functions with no side effects, functions that read external state without modifying it, and functions that both read and depend on external variables—showing how the classification aids memoization, re‑entrancy reasoning, and inline‑function usage.

C programmingPure Functionsfunction classification
0 likes · 5 min read
How to Classify C Functions for Cleaner Code and Better Optimization
Deepin Linux
Deepin Linux
Nov 3, 2025 · Operations

Master Linux Memory Bugs with KASAN: From Fundamentals to Real‑World Debugging

This guide walks Linux developers and operators through the fundamentals of kernel memory management, common memory bugs, and step‑by‑step configuration and usage of KASAN—including shadow memory, compile‑time instrumentation, kernel build options, and practical code examples—to quickly locate and fix out‑of‑bounds, use‑after‑free, and leak issues.

C programmingKASANKernel
0 likes · 30 min read
Master Linux Memory Bugs with KASAN: From Fundamentals to Real‑World Debugging
Liangxu Linux
Liangxu Linux
Oct 28, 2025 · Fundamentals

Why the Linux Kernel Discourages Using typedef

The article explains the Linux kernel's warning against new typedefs, citing Linus Torvalds' preference for struct usage, coding style guidelines, and practical reasons such as readability and maintainability in a large codebase.

C programmingLinux kernelcoding style
0 likes · 4 min read
Why the Linux Kernel Discourages Using typedef
Liangxu Linux
Liangxu Linux
Oct 22, 2025 · Fundamentals

Unlock Embedded Power: Deep Dive into RT-Thread RTOS Core Libraries

RT-Thread, a Chinese open‑source real‑time operating system, offers a highly scalable kernel, rich component ecosystem, and modular design; this article examines its core libraries, module classifications, typical IoT and industrial applications, and provides detailed C code examples for thread management, synchronization, device drivers, file systems, and networking.

C programmingIoTRT-Thread
0 likes · 11 min read
Unlock Embedded Power: Deep Dive into RT-Thread RTOS Core Libraries
Deepin Linux
Deepin Linux
Oct 9, 2025 · Fundamentals

Why Memory Alignment Is Critical for Linux Performance and Stability

This article explains how memory alignment in Linux—driven by hardware granularity, kernel allocation policies, and compiler optimizations—affects struct layout, cross‑platform compatibility, and execution speed, and provides practical techniques and testing methods to ensure optimal performance and reliability.

C programmingLinuxPerformance Optimization
0 likes · 37 min read
Why Memory Alignment Is Critical for Linux Performance and Stability
Liangxu Linux
Liangxu Linux
Oct 5, 2025 · Fundamentals

Master Layered and Time‑Slice Design for Microcontroller Projects

This article explains how to apply layered architecture and time‑slice (time‑slot) design in microcontroller programming, using a keypad‑scanning example to illustrate hardware, driver, and application layers, and shows how RTC‑based interrupts can manage multiple concurrent timers efficiently.

C programmingMicrocontrollerTime Slicing
0 likes · 15 min read
Master Layered and Time‑Slice Design for Microcontroller Projects
Liangxu Linux
Liangxu Linux
Sep 28, 2025 · Fundamentals

How to Structure Embedded Software: Layered Architecture and Decoupling Patterns

This article explains how to design decoupled embedded software by using a layered architecture, event‑driven mechanisms, pipeline‑filter data flows, and dependency injection, providing concrete C code examples and practical guidelines for each technique to improve maintainability and scalability.

C programmingLayered DesignSoftware Architecture
0 likes · 16 min read
How to Structure Embedded Software: Layered Architecture and Decoupling Patterns
Liangxu Linux
Liangxu Linux
Sep 28, 2025 · Fundamentals

Why Memory Leaks Hurt Your Programs and How to Detect Them

This article explains what memory leaks are, distinguishes different leak types such as space leaks and fragmentation, shows how unreferenced allocations cause hidden waste, and introduces common detection tools like Valgrind, AddressSanitizer, and tcmalloc Heap Profiler.

C programmingDebuggingfragmentation
0 likes · 7 min read
Why Memory Leaks Hurt Your Programs and How to Detect Them
Liangxu Linux
Liangxu Linux
Sep 25, 2025 · Fundamentals

Decoupling Embedded Systems: Layers, Event‑Driven Design, and Dependency Injection

This guide explains how to achieve clean decoupling in embedded software by employing a systematic layered architecture, leveraging event‑driven and pipeline‑filter patterns for data flow, and applying dependency injection, complete with practical C code examples and best‑practice recommendations for resource‑constrained devices.

C programmingDesign PatternsLayered Design
0 likes · 17 min read
Decoupling Embedded Systems: Layers, Event‑Driven Design, and Dependency Injection
Liangxu Linux
Liangxu Linux
Sep 24, 2025 · Fundamentals

Master Linux Process Management: Fork, vfork, exec, wait, zombie & orphan processes

This tutorial explains core Linux process concepts—including the difference between programs and processes, how to view and identify processes, detailed usage of fork and vfork for creating child processes, process termination, zombie and orphan handling, and practical examples of exec, system, and popen functions with C code.

C programmingLinuxexec
0 likes · 28 min read
Master Linux Process Management: Fork, vfork, exec, wait, zombie & orphan processes
Deepin Linux
Deepin Linux
Aug 21, 2025 · Fundamentals

Master Debugging Stripped Executables with GDB: A Step‑by‑Step Guide

This comprehensive guide explains why debugging stripped binaries is crucial, walks through installing GDB, shows how to disassemble code, set address‑based breakpoints, inspect memory, handle signals, use advanced features like backtraces, conditional breakpoints, watchpoints, remote debugging, and even basic heap analysis for C/C++ programs.

C programmingDebuggingcore dump
0 likes · 40 min read
Master Debugging Stripped Executables with GDB: A Step‑by‑Step Guide
Deepin Linux
Deepin Linux
Aug 20, 2025 · Fundamentals

Why Memory Alignment Matters in Linux: Boost Performance and Prevent Bugs

This article explains the concept of memory alignment in Linux, how alignment rules affect struct layout and CPU access, why proper alignment improves performance and portability, and provides practical compiler directives and code examples for implementing and testing aligned data structures.

C programmingPerformance OptimizationStruct Layout
0 likes · 27 min read
Why Memory Alignment Matters in Linux: Boost Performance and Prevent Bugs
Liangxu Linux
Liangxu Linux
Aug 19, 2025 · Fundamentals

How malloc and free Work: Inside Dynamic Memory Allocation

This article explains the fundamentals of malloc and free, covering their signatures, how they interact with the brk/sbrk system calls, the structure of memory control blocks, multiple allocation strategies such as explicit free lists, segregated lists, buddy systems and tcmalloc, along with code examples and their trade‑offs.

C programmingFreedynamic memory
0 likes · 15 min read
How malloc and free Work: Inside Dynamic Memory Allocation
Liangxu Linux
Liangxu Linux
Aug 18, 2025 · Fundamentals

32 Essential C Programming Practices for Clean, Maintainable Code

This guide outlines 32 practical C programming habits—from proper indentation and commenting to safe memory handling and error management—designed to improve code readability, maintainability, and reliability, helping developers write professional, high‑quality software.

C programmingSoftware Engineeringbest practices
0 likes · 40 min read
32 Essential C Programming Practices for Clean, Maintainable Code
MaGe Linux Operations
MaGe Linux Operations
Aug 8, 2025 · Backend Development

Build Your First Custom Nginx Module from Scratch – A Step‑by‑Step Guide

This article walks you through why learning Nginx module development matters, explains the core architecture and lifecycle, shows how to set up the build environment, create a Hello World module with full source code, compile, install, configure, and extend it with advanced features and performance optimizations.

C programmingcustom modulemodule development
0 likes · 15 min read
Build Your First Custom Nginx Module from Scratch – A Step‑by‑Step Guide
Deepin Linux
Deepin Linux
Jul 25, 2025 · Fundamentals

Understanding Linux System Calls: Theory, Mechanisms, and Practical Examples

This article explains what Linux system calls are, why they are essential for resource management, process control and device access, describes the separation of user and kernel space, details the execution flow of a system call, and provides multiple C code examples for direct and library‑based invocation.

C programmingLinuxUser Space
0 likes · 34 min read
Understanding Linux System Calls: Theory, Mechanisms, and Practical Examples
Deepin Linux
Deepin Linux
Jul 2, 2025 · Fundamentals

Master GDB: Essential Debugging Techniques for C/C++ Developers

This comprehensive guide introduces GDB, the powerful GNU Debugger, covering its overview, installation, basic commands, advanced features like backtracing, memory analysis, conditional breakpoints, remote debugging, and practical tips such as TUI mode, custom scripts, and IDE integration to help developers efficiently locate and fix bugs.

C programmingDebuggingcommand-line
0 likes · 27 min read
Master GDB: Essential Debugging Techniques for C/C++ Developers
IT Services Circle
IT Services Circle
Jun 10, 2025 · Fundamentals

How C Directly Controls Hardware: Registers, Memory, and Inline Assembly Explained

This article explores how the C language enables low‑level hardware control by detailing the roles of CPU registers and physical memory, illustrating direct register access via inline assembly, and explaining pointer usage for memory manipulation, highlighting the trust C places in programmers and the responsibilities it entails.

C programmingSystem Programminghardware control
0 likes · 9 min read
How C Directly Controls Hardware: Registers, Memory, and Inline Assembly Explained
IT Services Circle
IT Services Circle
Jun 8, 2025 · Information Security

Why mmap Shared Memory Is More Dangerous Than malloc – Risks Explained

mmap shared memory lets multiple processes access the same physical memory, which can break process isolation, expose permission misconfigurations like PROT_EXEC, and cause cross‑process crashes or code‑injection attacks, making it far riskier than heap allocations with malloc that remain confined to a single process.

C programmingSecuritymalloc
0 likes · 5 min read
Why mmap Shared Memory Is More Dangerous Than malloc – Risks Explained
Liangxu Linux
Liangxu Linux
Jun 8, 2025 · Fundamentals

9 Essential C Code Snippets Every Embedded Engineer Should Know

This article presents a curated collection of nine high‑utility C code snippets for embedded development, covering a circular buffer, custom assertions, bit reversal, fixed‑point arithmetic, endianness conversion, bit masks, timer handling, binary search, and a simple bitset structure, each with concise explanations and ready‑to‑use implementations.

Binary SearchC programmingData Structures
0 likes · 6 min read
9 Essential C Code Snippets Every Embedded Engineer Should Know
IT Services Circle
IT Services Circle
May 30, 2025 · Fundamentals

Why C Language Exam Questions Miss the Point: A Critique of Overly Complex Syntax Tests

The author reflects on a paid tutoring session that revealed university C‑language exam questions focused on obscure syntax tricks, argues that such puzzles hinder real programming skill development, and calls for a shift toward readability, problem‑solving, and practical relevance in computer science education.

C programmingcode readabilityexam critique
0 likes · 4 min read
Why C Language Exam Questions Miss the Point: A Critique of Overly Complex Syntax Tests
Deepin Linux
Deepin Linux
May 28, 2025 · Fundamentals

Understanding glibc malloc: Overview, Mechanisms, and Optimization Techniques

This article explains the role of glibc malloc in dynamic memory allocation, describes its internal data structures and allocation/free algorithms, provides a C code example, and offers practical optimization tips and common pitfalls for safe and efficient memory management.

C programmingMemory Managementdynamic allocation
0 likes · 13 min read
Understanding glibc malloc: Overview, Mechanisms, and Optimization Techniques
Liangxu Linux
Liangxu Linux
Apr 14, 2025 · Fundamentals

Essential C Coding Style Guide: Naming, Headers, and Comments

This guide outlines practical C coding standards covering clear and concise code, consistent naming conventions for variables, functions, constants, enums, macros, and files, proper header protection, include ordering, inline function usage, and effective commenting to improve readability and maintainability.

C programmingSoftware Engineeringcode comments
0 likes · 13 min read
Essential C Coding Style Guide: Naming, Headers, and Comments
Deepin Linux
Deepin Linux
Mar 10, 2025 · Fundamentals

Understanding Linux Process Creation, Waiting, and Execution: fork, wait, and exec

This article explains how Linux processes are created, managed, and replaced using the fork, wait (including waitpid), and exec system calls, covering their prototypes, return values, copy‑on‑write optimization, and practical C code examples that demonstrate their coordinated use in real‑world scenarios.

C programmingLinuxexec
0 likes · 25 min read
Understanding Linux Process Creation, Waiting, and Execution: fork, wait, and exec
Deepin Linux
Deepin Linux
Feb 27, 2025 · Fundamentals

Understanding malloc and free: Memory Allocation Mechanisms in C

This article explains how the C functions malloc and free allocate and release memory, covering stack vs heap, the brk and mmap system calls, fragmentation, header metadata, and why both allocation strategies are needed for efficient memory management.

C programmingFreeHeap
0 likes · 17 min read
Understanding malloc and free: Memory Allocation Mechanisms in C
Liangxu Linux
Liangxu Linux
Feb 26, 2025 · Fundamentals

How Can a Function Jump to an Uncalled Routine? Exploring Stack Tricks and Process Switching

The article explains how operating‑system multitasking and process switching share the same underlying mechanism as function calls, demonstrates a C program that overwrites a return address to jump to an unexpected function, and shows the resulting assembly to illustrate the similarity between buffer‑overflow attacks and legitimate context switches.

AssemblyC programmingbuffer overflow
0 likes · 7 min read
How Can a Function Jump to an Uncalled Routine? Exploring Stack Tricks and Process Switching
AI Cyberspace
AI Cyberspace
Feb 17, 2025 · Fundamentals

Understanding DMA and RDMA: High‑Performance Direct Memory Access Explained

This article explains the principles of Direct Memory Access (DMA) and Remote Direct Memory Access (RDMA), compares them with traditional TCP I/O, outlines RDMA’s features, protocol standards, communication pathways, queue mechanisms, and provides example code for setting up RDMA connections using RoCEv2.

C programmingDMARDMA
0 likes · 21 min read
Understanding DMA and RDMA: High‑Performance Direct Memory Access Explained
Linux Kernel Journey
Linux Kernel Journey
Feb 17, 2025 · Fundamentals

Master Linux Interprocess Communication and End Process Isolation Issues

This article explains why Linux processes need to communicate, describes the kernel‑mediated IPC framework, compares shared‑memory and message‑passing approaches, and provides detailed code examples for pipes, FIFOs, signals, files, semaphores, sockets, plus real‑world use cases and case studies.

C programmingIPCInterprocess Communication
0 likes · 31 min read
Master Linux Interprocess Communication and End Process Isolation Issues
Liangxu Linux
Liangxu Linux
Jan 16, 2025 · Fundamentals

Building a Simple malloc and Mark‑Sweep GC for the Linux Kernel

This guide walks through creating a 32‑bit Linux‑kernel memory allocator using a free‑list, implementing morecore and add_to_free_list functions, and then adding a basic mark‑and‑sweep garbage collector that scans heap, BSS, data segments and the stack to reclaim unused blocks.

C programmingGarbage CollectionLinux kernel
0 likes · 12 min read
Building a Simple malloc and Mark‑Sweep GC for the Linux Kernel
Liangxu Linux
Liangxu Linux
Jan 8, 2025 · Fundamentals

Unlock Advanced C Tricks: Designated Initializers, Macro Lists, and Compile‑time Assertions

This article explains how to use C99 designated initializers for arrays, structs, and unions, demonstrates macro‑list techniques for generating enums and accessor functions, and shows how to implement compile‑time assertions with clever use of the preprocessor, providing practical code examples for each technique.

C programmingcode trickscompile-time assertion
0 likes · 8 min read
Unlock Advanced C Tricks: Designated Initializers, Macro Lists, and Compile‑time Assertions
Liangxu Linux
Liangxu Linux
Dec 9, 2024 · Backend Development

Debug Faster with GDB Dynamic Printf – No Recompile Needed

This guide explains how GDB's dynamic printf feature lets you insert formatted print statements at any point in a running program without modifying source code or rebuilding, covering basic usage, command syntax, saving/loading breakpoints, and practical examples for efficient debugging.

C programmingLinuxbreakpoints
0 likes · 8 min read
Debug Faster with GDB Dynamic Printf – No Recompile Needed
php Courses
php Courses
Nov 27, 2024 · Backend Development

PHP Interpreter Internals: Theory and Hands‑On Implementation in C

This course introduces the background and characteristics of PHP, explains the role and operation of the PHP interpreter, and guides students through building a simple interpreter in C by covering lexical analysis, parsing, virtual machine design, and hands‑on debugging with GDB.

C programmingPHPProgramming Language
0 likes · 3 min read
PHP Interpreter Internals: Theory and Hands‑On Implementation in C
Liangxu Linux
Liangxu Linux
Nov 3, 2024 · Fundamentals

Enable and Use Promiscuous Mode on Linux: Commands and C Code

This guide explains what network‑card promiscuous (promisc) mode is, why it matters for receiving packets across different subnets, and provides step‑by‑step Linux commands and a C program example to enable, disable, and verify the mode on an interface.

C programmingLinuxPromiscuous Mode
0 likes · 4 min read
Enable and Use Promiscuous Mode on Linux: Commands and C Code
Deepin Linux
Deepin Linux
Oct 30, 2024 · Fundamentals

An Introduction to POSIX Threads (Pthread) and Their Practical Usage in C/C++

This article provides a comprehensive overview of POSIX threads, covering their architecture, creation, synchronization, attributes, scheduling policies, advantages, drawbacks, and real‑world examples such as mutex protection, barrier synchronization, and a cross‑platform network server implementation.

C programmingLinuxPOSIX
0 likes · 21 min read
An Introduction to POSIX Threads (Pthread) and Their Practical Usage in C/C++
Deepin Linux
Deepin Linux
Oct 16, 2024 · Fundamentals

Comprehensive Guide to Using GDB for Debugging C/C++ Programs

This article provides a thorough introduction to the GNU Debugger (GDB), covering its core capabilities, startup methods, compilation requirements, a wide range of debugging techniques—including breakpoints, memory inspection, disassembly, reverse execution—and detailed guidance for multithreaded debugging on Linux systems.

C programmingLinuxcommand-line
0 likes · 20 min read
Comprehensive Guide to Using GDB for Debugging C/C++ Programs
Software Development Quality
Software Development Quality
Sep 27, 2024 · Fundamentals

Mastering Clean C: Essential Coding Standards for Reliable Software

This document defines comprehensive C language coding standards covering clarity, simplicity, testability, safety, efficiency, and portability, offering concrete principles, rules, and suggestions to guide developers in writing maintainable, reliable, and high‑performance code.

C programmingPerformance OptimizationSoftware quality
0 likes · 19 min read
Mastering Clean C: Essential Coding Standards for Reliable Software
Open Source Linux
Open Source Linux
Aug 23, 2024 · Backend Development

Mastering GCC: From Source Code to Executable ELF Binaries

This article explains how high‑level C/C++ programs are transformed into processor‑executable binary code on Linux, covering preprocessing, compilation, assembly, linking, the GCC toolchain, Binutils utilities, C runtime libraries, and ELF file analysis with practical command examples.

C programmingCompilationELF
0 likes · 13 min read
Mastering GCC: From Source Code to Executable ELF Binaries
Liangxu Linux
Liangxu Linux
Jul 27, 2024 · Fundamentals

Does malloc Allocate Memory? Exploring Virtual Memory, brk, and Page Faults

This article explains why calling malloc in C only reserves virtual address space, how the kernel maps it to physical memory on demand, and the roles of the brk pointer, memory layout, and page‑fault handling, illustrated with a 1 GB allocation example and detailed diagrams.

C programmingMemory ManagementPage Fault
0 likes · 7 min read
Does malloc Allocate Memory? Exploring Virtual Memory, brk, and Page Faults
Liangxu Linux
Liangxu Linux
Jul 13, 2024 · Fundamentals

How Does malloc Actually Allocate Memory? A Visual Walkthrough

This article explains what happens inside a computer when you request memory with malloc, covering the C standard library, compilation, memory layout, heap allocation, fragmentation, and how the operating system expands the heap using system calls.

C programmingHeapOperating System
0 likes · 6 min read
How Does malloc Actually Allocate Memory? A Visual Walkthrough
Java Tech Enthusiast
Java Tech Enthusiast
Jun 29, 2024 · Fundamentals

Understanding Memory Allocation in C

The article explains C’s memory allocation, detailing how functions like malloc obtain heap space, the role of system calls such as brk, the distinction between stack and heap, address layout, fragmentation challenges, and practical implications for efficient dynamic memory management.

C programmingHeapMemory Fragmentation
0 likes · 5 min read
Understanding Memory Allocation in C
Open Source Linux
Open Source Linux
Jun 17, 2024 · Fundamentals

for(;;) vs while(1): Which Infinite Loop Is Faster in Embedded C?

This article compares the infinite‑loop constructs for(;;) and while(1) in C, examining compiler optimizations, performance measurements on microcontrollers, coding style guidelines, and industry standards to determine if one form offers any real advantage over the other.

C programmingCompiler OptimizationPerformance Testing
0 likes · 7 min read
for(;;) vs while(1): Which Infinite Loop Is Faster in Embedded C?
Liangxu Linux
Liangxu Linux
May 9, 2024 · Fundamentals

How mem_malloc Eliminates Fragmentation in MCU RAM – A Complete Guide

This article introduces the open‑source mem_malloc module for microcontrollers, explains its fragmentation‑free allocation algorithm, shows how to integrate and compile it on an IOT development board, and provides detailed test code and results illustrating efficient RAM usage.

C programmingMemory Managementfragmentation
0 likes · 8 min read
How mem_malloc Eliminates Fragmentation in MCU RAM – A Complete Guide
Ops Development & AI Practice
Ops Development & AI Practice
Apr 17, 2024 · Fundamentals

Master Bitwise Operations: Essential Tricks for Faster Code

This article introduces the fundamentals of bitwise operations, explains common operators, presents practical tricks such as parity checks, swapping without extra space, clearing and extracting the lowest set bit, and demonstrates real‑world applications like bit counting and permission management with clear C code examples.

C programmingPerformance Optimizationbitwise operations
0 likes · 6 min read
Master Bitwise Operations: Essential Tricks for Faster Code
NewBeeNLP
NewBeeNLP
Apr 11, 2024 · Artificial Intelligence

How Karpathy Built a 1,000‑Line C LLM Trainer Without Any Deep‑Learning Framework

Andrej Karpathy released LLM.C, a pure C/CUDA implementation that trains GPT‑2‑style models in about 1,000 lines of code, detailing manual forward/backward passes, memory allocation tricks, SIMD CPU acceleration, CUDA porting, and migration tutorials, while comparing it to PyTorch and discussing broader LLM OS implications.

C programmingCUDAGPT
0 likes · 6 min read
How Karpathy Built a 1,000‑Line C LLM Trainer Without Any Deep‑Learning Framework
Open Source Linux
Open Source Linux
Apr 1, 2024 · Fundamentals

Master Makefile: From Basics to Advanced Build Automation

This comprehensive guide walks you through Makefile fundamentals, covering basic syntax, variables, pattern rules, automatic variables, functions, conditional statements, multi-target handling, phony targets, debugging techniques, and advanced custom functions to help you automate and streamline complex build processes.

Build AutomationC programmingMakefile
0 likes · 6 min read
Master Makefile: From Basics to Advanced Build Automation
Alibaba Cloud Big Data AI Platform
Alibaba Cloud Big Data AI Platform
Mar 18, 2024 · Operations

Build Pure‑C eBPF Projects with Native libbpf – No libbpf‑bootstrap Needed

This article walks through constructing pure‑C eBPF programs using the native libbpf library, covering kernel‑libbpf version mapping, environment setup for RPM and DEB systems, detailed Makefile analysis, embedding BPF objects via hexdump, and extending the approach to USDT and Uprobe tracing without relying on libbpf‑bootstrap.

C programmingLinux kernelSystem Tracing
0 likes · 40 min read
Build Pure‑C eBPF Projects with Native libbpf – No libbpf‑bootstrap Needed
Open Source Linux
Open Source Linux
Mar 18, 2024 · Fundamentals

Unlock C Programming Fundamentals: From Hello World to Advanced Structures

This comprehensive tutorial walks you through the essentials of C programming, covering everything from the classic Hello World program and basic syntax to data types, operators, control structures, functions, recursion, arrays, strings, and multi‑dimensional arrays, complete with clear code examples and visual diagrams.

ArraysC programmingControl structures
0 likes · 35 min read
Unlock C Programming Fundamentals: From Hello World to Advanced Structures
Deepin Linux
Deepin Linux
Mar 14, 2024 · Fundamentals

Process Concepts, Principles, and Management in Operating Systems

This article explains the definition, characteristics, and structure of processes, describes process creation, termination, and state transitions, outlines various scheduling algorithms, and introduces inter‑process communication mechanisms such as pipes, sockets, shared memory, and message queues, with example C code for Linux.

C programmingIPCLinux
0 likes · 31 min read
Process Concepts, Principles, and Management in Operating Systems
IT Services Circle
IT Services Circle
Mar 5, 2024 · Fundamentals

Why Adding printf Can Hide Segmentation Faults: A Debugging Tale

An amusing yet instructive narrative shows how a C program that crashes with a segmentation fault can appear to work after inserting a printf, explaining that uninitialized local variables contain leftover stack data and that debugging tools like GDB reveal the true cause.

C programminggdbprintf
0 likes · 8 min read
Why Adding printf Can Hide Segmentation Faults: A Debugging Tale
Open Source Linux
Open Source Linux
Mar 1, 2024 · Fundamentals

Mastering AT Command Parsing: A Comprehensive Guide to Embedded Communication Modules

This guide details a lightweight AT command parsing module supporting both bare‑metal and OS versions, explains its architecture, core data structures, key APIs, and provides step‑by‑step usage examples—including GPIO testing, signal‑quality queries, and TCP data transmission—for modems, Wi‑Fi and Bluetooth communication.

AT commandsBare MetalC programming
0 likes · 8 min read
Mastering AT Command Parsing: A Comprehensive Guide to Embedded Communication Modules
Open Source Linux
Open Source Linux
Feb 27, 2024 · Fundamentals

Unlocking static, volatile, sizeof & I2C: Essential C Tips for Embedded Engineers

This article explains the roles of the static and volatile keywords, compares sizeof and strlen, shows how to reliably compare floating‑point numbers, discusses the impact of floating‑point operations on STM32 interrupt performance, and outlines the I2C protocol and address configuration for embedded systems.

C programmingI2Cembedded systems
0 likes · 13 min read
Unlocking static, volatile, sizeof & I2C: Essential C Tips for Embedded Engineers
php Courses
php Courses
Feb 19, 2024 · Backend Development

Course Overview: Understanding and Implementing a PHP Interpreter in C

This course introduces the background and features of PHP, explains the role and inner workings of the PHP interpreter—including lexical analysis, parsing, and the virtual machine—and guides students to implement a simple interpreter using C, enhancing their programming and problem‑solving skills.

Backend DevelopmentC programmingPHP
0 likes · 4 min read
Course Overview: Understanding and Implementing a PHP Interpreter in C
Open Source Linux
Open Source Linux
Feb 17, 2024 · Fundamentals

Mastering AT Command Parsing: Build Bare‑Metal and OS‑Based Communication Modules

This article introduces an AT‑command communication parsing module that supports both bare‑metal (at_chat) and OS‑based versions, explains its software architecture, core data structures, key interfaces, and provides step‑by‑step usage examples with complete C code snippets for Wi‑Fi, Bluetooth, and modem integration.

AT commandsBare MetalC programming
0 likes · 9 min read
Mastering AT Command Parsing: Build Bare‑Metal and OS‑Based Communication Modules
Liangxu Linux
Liangxu Linux
Jan 23, 2024 · Fundamentals

How Weak Symbols and Weak References Simplify Cross‑Platform C Development

This article explains the concept of weak symbols and weak references in C, demonstrates their behavior with practical examples, and shows how they can be leveraged to create maintainable, cross‑platform embedded drivers while addressing compiler differences and linker nuances.

C programmingCross‑platform developmentLinker
0 likes · 20 min read
How Weak Symbols and Weak References Simplify Cross‑Platform C Development
Liangxu Linux
Liangxu Linux
Jan 16, 2024 · Fundamentals

Mastering Relays: From Basics to STM32 Control with Real Code

This tutorial explains relay fundamentals, classifications, electrical parameters, wiring diagrams, and provides a complete STM32‑based implementation with source code to control a relay and toggle an LED, offering practical guidance for embedded hardware projects.

C programmingHardwareRelay
0 likes · 10 min read
Mastering Relays: From Basics to STM32 Control with Real Code
Liangxu Linux
Liangxu Linux
Dec 27, 2023 · Fundamentals

Why Callbacks Are Just Function Variables: A Simple C Example

This article explains that callbacks are essentially function variables, illustrating the concept with plain C code examples, comparing direct function calls to passing functions as parameters, and showing how this approach avoids massive if‑else chains while keeping the logic clear and reusable.

C programmingCallbacksfunction pointers
0 likes · 3 min read
Why Callbacks Are Just Function Variables: A Simple C Example
MaGe Linux Operations
MaGe Linux Operations
Dec 14, 2023 · Backend Development

How Redis Uses 24‑Bit Counters for Efficient LRU Caching

This article explores how counters, especially 24‑bit timestamps, are employed in Redis’s LRU eviction algorithm and other memory‑constrained scenarios, detailing implementation tricks, precision trade‑offs, and practical code examples for efficient cyclic counters and compact storage techniques.

C programmingCountersLRU
0 likes · 12 min read
How Redis Uses 24‑Bit Counters for Efficient LRU Caching
21CTO
21CTO
Dec 6, 2023 · Operations

How One Line of C Code Crippled AT&T’s Network for 9 Hours

A 1990 AT&T network outage caused by an untested C code change led to a nine‑hour service collapse, massive financial loss, and widespread disruption, illustrating how a single software bug can trigger cascading failures in large‑scale telecommunications systems.

AT&TC programmingnetwork outage
0 likes · 6 min read
How One Line of C Code Crippled AT&T’s Network for 9 Hours
Liangxu Linux
Liangxu Linux
Dec 4, 2023 · Fundamentals

Why Row‑Major Access Beats Column‑Major in C: A Cache‑Level Deep Dive

The article explains why iterating a two‑dimensional array by rows runs dramatically faster than by columns, covering memory‑hierarchy basics, locality principles, cache behavior, cache‑line mechanics, and Linux perf measurements that reveal a 20‑fold speed gap caused by cache‑miss rates.

C programmingCacheMemory Hierarchy
0 likes · 11 min read
Why Row‑Major Access Beats Column‑Major in C: A Cache‑Level Deep Dive
Deepin Linux
Deepin Linux
Dec 3, 2023 · Fundamentals

Comprehensive Guide to Common C Language Interview Questions and Concepts

This article provides a thorough overview of essential C language concepts frequently asked in interviews, covering topics such as language basics, keywords, variables, pointers, arrays, memory management, functions, recursion, data structures, preprocessor directives, and practical code examples to help readers master high‑frequency C interview questions.

C programmingInterview PreparationRecursion
0 likes · 70 min read
Comprehensive Guide to Common C Language Interview Questions and Concepts
Deepin Linux
Deepin Linux
Dec 1, 2023 · Fundamentals

65 Essential Embedded System Interview Questions and Answers

This comprehensive guide presents 65 common embedded‑system interview questions covering topics such as memory layout, stack vs. heap, static and volatile keywords, pointers and references, malloc usage, C vs. C++ differences, compilation stages, process and thread concepts, IPC mechanisms, and networking fundamentals, providing concise explanations and code examples for each.

C programmingMemory Managementembedded systems
0 likes · 64 min read
65 Essential Embedded System Interview Questions and Answers
Liangxu Linux
Liangxu Linux
Nov 4, 2023 · Information Security

How Integer Overflows Threaten C Programs and How to Detect Them Safely

This article explains the difference between unsigned and signed integer overflow in C, shows how overflow can lead to buffer overflows and security breaches, illustrates common pitfalls with code examples, discusses compiler optimizations that remove overflow checks, and provides reliable techniques for detecting and preventing integer overflow.

C programmingCompiler OptimizationUndefined Behavior
0 likes · 15 min read
How Integer Overflows Threaten C Programs and How to Detect Them Safely
Liangxu Linux
Liangxu Linux
Oct 7, 2023 · Fundamentals

Motor Control vs Linux Driver Development: Which Career Path Fits You?

This article compares motor‑control engineering and Linux driver development, outlining the core tasks, required knowledge, and typical technologies for each field, and helps readers decide which specialization aligns better with their skills and interests.

C programmingDSPLinux driver
0 likes · 5 min read
Motor Control vs Linux Driver Development: Which Career Path Fits You?
Liangxu Linux
Liangxu Linux
Sep 2, 2023 · Fundamentals

Mastering C Memory Layout: Stacks, Heaps, Segments, and const Usage

This article explains the five memory partitions in C, the storage regions created during compilation and linking, the different program segments (code, RO data, RW data, BSS, heap, stack), the proper use of const and pointers, 8051-specific memory qualifiers, and a detailed comparison of stack and heap allocation, including practical code examples.

C programmingData SegmentsHeap
0 likes · 25 min read
Mastering C Memory Layout: Stacks, Heaps, Segments, and const Usage
Open Source Linux
Open Source Linux
Aug 16, 2023 · Fundamentals

Mastering C Memory Layout: Stack, Heap, and Data Segments Explained

This article provides a comprehensive guide to C memory organization, covering the five primary memory regions, the layout of compiled C programs, detailed segment types such as code, read‑only, read‑write, BSS, heap and stack, as well as const usage, pointer rules, and embedded‑system storage qualifiers.

C programmingHeapStack
0 likes · 25 min read
Mastering C Memory Layout: Stack, Heap, and Data Segments Explained