Tagged articles
186 articles
Page 2 of 2
MaGe Linux Operations
MaGe Linux Operations
Jul 28, 2023 · Fundamentals

Mastering POSIX Threads in Linux: A Complete Guide to Pthreads

This article explains the limitations of the traditional Unix fork model, introduces POSIX threads as lightweight processes, details their data structures, core functions, creation, termination, synchronization primitives, attributes, and provides extensive C code examples for practical multithreaded programming on Linux.

C programmingPOSIXpthreads
0 likes · 22 min read
Mastering POSIX Threads in Linux: A Complete Guide to Pthreads
Liangxu Linux
Liangxu Linux
Jul 12, 2023 · Fundamentals

Master Linux Memory Management: From Physical Pages to Virtual Mapping

This comprehensive guide explains Linux memory management concepts, covering physical and virtual memory, allocation and release methods, related kernel functions, process switching interactions, performance tuning, leak detection, fragmentation mitigation, and real‑world application examples with practical C code snippets.

C programmingLinuxPhysical Memory
0 likes · 36 min read
Master Linux Memory Management: From Physical Pages to Virtual Mapping
Efficient Ops
Efficient Ops
Jun 5, 2023 · Fundamentals

Master Linux Memory Management: From Physical Pages to Virtual Addressing

This comprehensive guide explains Linux memory management, covering physical and virtual memory concepts, allocation and release methods, related kernel functions, process switching interactions, performance tuning, leak detection, fragmentation handling, and real‑world application scenarios for servers, embedded systems, and driver development.

C programmingKernelPhysical Memory
0 likes · 37 min read
Master Linux Memory Management: From Physical Pages to Virtual Addressing
Open Source Linux
Open Source Linux
Apr 26, 2023 · Backend Development

Mastering GCC: From Preprocessing to ELF Analysis in Linux

This article guides readers through the complete GCC toolchain workflow—preprocessing, compilation, assembly, linking—and explains how to analyze the resulting ELF binary, covering essential commands, Binutils utilities, and runtime library details for C/C++ programs on Linux.

BinutilsC programmingCompilation
0 likes · 13 min read
Mastering GCC: From Preprocessing to ELF Analysis in Linux
Liangxu Linux
Liangxu Linux
Mar 29, 2023 · Fundamentals

What Happens When main() Returns on a Bare‑Metal Microcontroller?

In bare‑metal embedded systems without an RTOS, the fate of a program after the C main() function returns varies by compiler, and understanding the startup code and post‑main behavior explains why LEDs may flicker or why an infinite loop is often required.

C programmingMicrocontrollerembedded systems
0 likes · 6 min read
What Happens When main() Returns on a Bare‑Metal Microcontroller?
AI Cyberspace
AI Cyberspace
Mar 29, 2023 · Fundamentals

Mastering POSIX Threads: From User Threads to Thread Pools in Linux

This article explains the concepts of user threads, the pthread library implementation, thread creation and termination functions, synchronization mechanisms like mutexes and condition variables, and demonstrates how to design and use a lightweight C thread‑pool with practical code examples.

C programmingLinuxmultithreading
0 likes · 21 min read
Mastering POSIX Threads: From User Threads to Thread Pools in Linux
Open Source Linux
Open Source Linux
Jan 3, 2023 · Fundamentals

Mastering Linux Process Creation: fork, exec, wait, and Exit Explained

This comprehensive guide walks through Linux process creation with fork, explains its return values and copy‑on‑write behavior, covers normal and abnormal termination using return, exit and _exit, details waiting with wait/waitpid, and demonstrates program replacement via exec functions and a simple custom shell.

C programmingLinuxexec
0 likes · 25 min read
Mastering Linux Process Creation: fork, exec, wait, and Exit Explained
Liangxu Linux
Liangxu Linux
Dec 3, 2022 · Backend Development

Implementing a Multi-Level Timing Wheel in C for Efficient Timer Management

This article explains the design and C implementation of a five‑level hierarchical timing wheel, covering its data structures, pointer handling with bitwise operations, timer insertion, modification, deletion, cascade processing, and a demo program that highlights blocking behavior of long‑running timer callbacks.

C programmingconcurrencykernel timer
0 likes · 22 min read
Implementing a Multi-Level Timing Wheel in C for Efficient Timer Management
Liangxu Linux
Liangxu Linux
Sep 10, 2022 · Fundamentals

Master C Preprocessor Tricks, Static/Const/Volatile Keywords, and Common Embedded Pitfalls

This article walks through essential C concepts for embedded development, including macro definitions for constants and MIN, the use of #error, infinite loops, variable declaration patterns, the roles of static, const, and volatile, bit‑mask operations, absolute address access, ISR constraints, unsigned‑int quirks, safe typedef usage, and tricky expressions like a+++b.

C programmingConst keywordMacros
0 likes · 19 min read
Master C Preprocessor Tricks, Static/Const/Volatile Keywords, and Common Embedded Pitfalls
Open Source Linux
Open Source Linux
Jul 13, 2022 · Fundamentals

Mastering GCC: From Source Code to ELF Executable Explained

This article walks through the complete GCC toolchain workflow—preprocessing, compilation, assembly, and linking—using a simple C "Hello World" program, explains the roles of GCC, Binutils and the C runtime, and shows how to inspect the resulting ELF binary with common Linux utilities.

C programmingCompilationELF
0 likes · 13 min read
Mastering GCC: From Source Code to ELF Executable Explained
MaGe Linux Operations
MaGe Linux Operations
Jul 6, 2022 · Backend Development

Mastering epoll: Boost Linux Server Performance with Edge-Triggered I/O

This article explains the epoll interface, its underlying data structures, the three-step usage pattern, the differences between level‑triggered and edge‑triggered modes, the reactor model, and provides a complete C demo, helping developers efficiently handle millions of concurrent TCP connections on Linux.

C programmingI/O MultiplexingLinux
0 likes · 17 min read
Mastering epoll: Boost Linux Server Performance with Edge-Triggered I/O
Refining Core Development Skills
Refining Core Development Skills
May 24, 2022 · Backend Development

An In-Depth Analysis of Redis Multi-Threaded Architecture and I/O Event Processing

This article provides a comprehensive source-level analysis of Redis 6.0 and later multi-threaded architecture, detailing how the main event loop coordinates with dedicated I/O threads to efficiently distribute, parse, and process concurrent read and write requests while maintaining high throughput and low latency.

C programmingI/O Multiplexingepoll
0 likes · 21 min read
An In-Depth Analysis of Redis Multi-Threaded Architecture and I/O Event Processing
Liangxu Linux
Liangxu Linux
Apr 7, 2022 · Fundamentals

Master Linux File I/O: Open, Read, Write, and Advanced Flags Explained

This tutorial walks through Linux file programming fundamentals, covering how to open, create, read, write, and manipulate file descriptors and cursor positions with system calls like open, creat, read, write, lseek, and close, and demonstrates practical examples such as implementing a cp command, editing configuration files, and using both low‑level and standard C library I/O functions.

C programmingPOSIXfile I/O
0 likes · 28 min read
Master Linux File I/O: Open, Read, Write, and Advanced Flags Explained
IT Services Circle
IT Services Circle
Apr 6, 2022 · Fundamentals

Understanding Function Calls and Stack Frames in Memory

This article explains how function calls are implemented using a stack‑based memory model, describing stack frames, the role of base and stack pointer registers, and the assembly instructions that create and dismantle these frames during program execution.

AssemblyC programmingFunction Calls
0 likes · 7 min read
Understanding Function Calls and Stack Frames in Memory
Liangxu Linux
Liangxu Linux
Apr 5, 2022 · Fundamentals

C vs. Python for Beginners: When to Choose Each Language

In a live‑stream chat, a middle‑schooler asks whether to start with C or Python, prompting the host to explain why adults should begin with C for deep fundamentals while children benefit more from Python’s simplicity and rapid feedback.

C programmingPythoneducation
0 likes · 5 min read
C vs. Python for Beginners: When to Choose Each Language
IT Services Circle
IT Services Circle
Mar 15, 2022 · Fundamentals

Bugs in Hello World Programs Across Multiple Languages

An investigation reveals that the classic Hello World program, often considered bug‑free, actually contains hidden I/O handling bugs in seven of sixteen tested languages, illustrating how even simple code can silently fail and highlighting the importance of proper error detection in software development.

C programmingHello WorldI/O error handling
0 likes · 7 min read
Bugs in Hello World Programs Across Multiple Languages
IT Architects Alliance
IT Architects Alliance
Feb 24, 2022 · Fundamentals

Build Your Own LC‑3 Virtual Machine in C – A Complete Step‑by‑Step Guide

This tutorial walks you through creating a small LC‑3 virtual machine in C, covering the underlying architecture, memory and register modeling, instruction decoding, implementation of key opcodes such as ADD and LDI, trap routines, program loading, and platform‑specific details, all with full source code examples.

C programmingLC-3computer architecture
0 likes · 34 min read
Build Your Own LC‑3 Virtual Machine in C – A Complete Step‑by‑Step Guide
Baidu App Technology
Baidu App Technology
Jan 24, 2022 · Mobile Development

Introduction to OpenCL Programming for Mobile GPU Computing

As mobile CPUs plateau, developers increasingly use OpenCL to harness Android GPUs like Qualcomm Adreno and Huawei Mali for heterogeneous computing, leveraging its platform, execution, and memory models to write portable kernels—illustrated by a simple array‑addition example that demonstrates device initialization, kernel creation, buffer management, and parallel execution.

AndroidC programmingGPU computing
0 likes · 8 min read
Introduction to OpenCL Programming for Mobile GPU Computing
JavaEdge
JavaEdge
Nov 14, 2021 · Fundamentals

Master Merge Sort: Step‑by‑Step Explanation, Code, and Analysis

This article explains the merge sort algorithm in detail, covering its divide‑and‑conquer principle, step‑by‑step process with illustrative examples, a complete C implementation, and an analysis of its time and space complexities and suitable use cases.

C programmingSorting Algorithmalgorithm analysis
0 likes · 7 min read
Master Merge Sort: Step‑by‑Step Explanation, Code, and Analysis
21CTO
21CTO
Nov 11, 2021 · Fundamentals

Why Write Linux Kernel Modules? A Step‑by‑Step Guide to Building Your First LKM

This tutorial explains why kernel modules are needed, walks through preparing a Linux environment, installing required headers, creating and compiling a simple "Hello, World" module, extending it to a character device driver, and shows how to load, test, and unload the module safely.

C programmingKernel ModuleLinux
0 likes · 13 min read
Why Write Linux Kernel Modules? A Step‑by‑Step Guide to Building Your First LKM
ITPUB
ITPUB
Oct 28, 2021 · Fundamentals

5 Common C Bugs Every Programmer Should Avoid

This article outlines five typical C programming mistakes—uninitialized variables, array out‑of‑bounds access, string overflow, double free, and invalid file pointers—explaining why they occur, showing concrete code examples with varied outputs, and offering practical safeguards to prevent them.

C programmingMemory Managementarray bounds
0 likes · 13 min read
5 Common C Bugs Every Programmer Should Avoid
Java Backend Technology
Java Backend Technology
Oct 28, 2021 · Fundamentals

5 Common C Bugs Every Programmer Should Avoid

This article highlights five typical C programming mistakes—uninitialized variables, array out‑of‑bounds access, string overflows, double freeing memory, and invalid file pointers—explains why they occur, shows sample code and outputs, and offers practical tips to prevent each bug.

C programmingInitializationarray bounds
0 likes · 14 min read
5 Common C Bugs Every Programmer Should Avoid
Liangxu Linux
Liangxu Linux
Oct 26, 2021 · Fundamentals

5 Sneaky C Bugs Every Programmer Should Avoid

This article lists five common C programming mistakes—uninitialized variables, array out‑of‑bounds access, string overflow, double free, and invalid file pointers—explains why they occur, shows concrete code examples with typical output, and offers practical ways to prevent each bug.

C programmingInitializationMemory Management
0 likes · 13 min read
5 Sneaky C Bugs Every Programmer Should Avoid
OPPO Amber Lab
OPPO Amber Lab
Sep 14, 2021 · Information Security

Master Fuzz Testing with AFL and Honggfuzz: Step‑by‑Step Guide

This guide walks you through the fundamentals of fuzz testing, demonstrating how to install, configure, and use popular tools like AFL and Honggfuzz on Ubuntu to detect buffer overflows, illegal memory accesses, and other security vulnerabilities in C programs, complete with code examples and result analysis.

AFLC programmingSoftware Security
0 likes · 16 min read
Master Fuzz Testing with AFL and Honggfuzz: Step‑by‑Step Guide
Programmer DD
Programmer DD
Aug 21, 2021 · Backend Development

Why althttpd Is the Ultra‑Lightweight Web Server Behind SQLite.org

Discover how althttpd, the minimalist C‑based web server created by SQLite’s author Richard Hipp, powers the high‑traffic SQLite.org site with minimal resources, its simple design philosophy, low‑cost hardware usage, and why it makes an excellent learning project for developers.

C programmingSQLiteWeb server
0 likes · 3 min read
Why althttpd Is the Ultra‑Lightweight Web Server Behind SQLite.org
Liangxu Linux
Liangxu Linux
Aug 10, 2021 · Operations

How Linux Implements High‑Performance Timers with a Hierarchical Timing Wheel

This article explains the various timer implementations—sorted linked list, min‑heap, balanced binary tree, and especially the hierarchical timing wheel used in the Linux kernel—detailing their time complexities, data structures, and the core C code that inserts and executes timers efficiently.

C programmingLinuxO(1) complexity
0 likes · 11 min read
How Linux Implements High‑Performance Timers with a Hierarchical Timing Wheel
Alibaba Cloud Developer
Alibaba Cloud Developer
May 26, 2021 · Fundamentals

How to Refactor C Code: From Simple Scripts to Object‑Oriented and Functional Styles

This article walks through a step‑by‑step refactoring of a small C program that reads employee data, adjusts salaries, and writes results, illustrating how to identify repeated code, extract reusable abstractions, apply object‑oriented and functional techniques, and even explore dynamic scope and data‑structure replacement for cleaner, more maintainable software.

C programmingObject-Orientedfunctional programming
0 likes · 42 min read
How to Refactor C Code: From Simple Scripts to Object‑Oriented and Functional Styles
ITPUB
ITPUB
Apr 11, 2021 · Fundamentals

The Hidden Programmer Behind Wang Xiaobo: Early Chinese Software and Input‑Method Innovations

This article recounts how celebrated Chinese writer Wang Xiaobo, also an early programmer, created his own Chinese input method and statistical software in the late 1980s and early 1990s, detailing his self‑taught mastery of FORTRAN, assembly, C, and the challenges of building software in a nascent Chinese computing environment.

C programmingFortranWang Xiaobo
0 likes · 15 min read
The Hidden Programmer Behind Wang Xiaobo: Early Chinese Software and Input‑Method Innovations
Top Architect
Top Architect
Feb 16, 2021 · Backend Development

Understanding Nginx Architecture: Daemon Process, Worker Model, Connection Handling, and Core Data Structures

This article explains how Nginx runs as a daemon with a master process and multiple worker processes, details its asynchronous non‑blocking I/O model, connection and request handling, keep‑alive and pipeline mechanisms, and describes the key internal data structures such as connections, requests, arrays, queues, lists, strings, memory pools, hash tables, and red‑black trees.

AsynchronousC programming
0 likes · 18 min read
Understanding Nginx Architecture: Daemon Process, Worker Model, Connection Handling, and Core Data Structures
Tencent Cloud Developer
Tencent Cloud Developer
Jan 26, 2021 · Databases

Understanding Redis Sorted Sets and Their Skiplist Implementation

Redis sorted sets (zsets) combine a hash table with a skiplist that provides O(log N) search, insertion, and deletion, using forward, backward, and span pointers to maintain element order and rank, enabling fast score‑based queries, leaderboards, and range operations via commands such as ZADD, ZRANK, and ZRANGE.

C programmingData StructureSorted Set
0 likes · 15 min read
Understanding Redis Sorted Sets and Their Skiplist Implementation
Liangxu Linux
Liangxu Linux
Jan 18, 2021 · Backend Development

Mastering the GCC Toolchain: From Source Code to ELF Executable

This guide walks through the complete GCC compilation pipeline—preprocessing, compilation, assembly, and linking—using a simple C "Hello World" program, detailing each step, relevant commands, and how to inspect the resulting ELF binary.

BinutilsC programmingCompilation
0 likes · 13 min read
Mastering the GCC Toolchain: From Source Code to ELF Executable
FunTester
FunTester
Dec 18, 2020 · Operations

Mastering Black‑Box Tests for Polynomial Add‑Multiply Programs

This article explains how to treat a polynomial addition and multiplication program as a black box, outlines its input/output format, describes a linked‑list implementation with key functions, and presents critical, equivalence‑class, and loop‑related test cases along with practical debugging tips.

C programmingSoftware Testingblack-box testing
0 likes · 8 min read
Mastering Black‑Box Tests for Polynomial Add‑Multiply Programs
ITPUB
ITPUB
Dec 17, 2020 · Fundamentals

How Linux Pipes, FIFOs, and Signals Enable Interprocess Communication

This article explains the fundamentals of Linux pipes and named pipes (FIFOs), their kernel implementation, read/write APIs with code examples, and an overview of signal mechanisms, types, and handling in the context of inter‑process communication.

C programmingIPCLinux
0 likes · 15 min read
How Linux Pipes, FIFOs, and Signals Enable Interprocess Communication
21CTO
21CTO
Dec 16, 2020 · Fundamentals

How to Implement Object‑Oriented Programming in C: From Encapsulation to Polymorphism

This article explains why and how to apply object‑oriented programming concepts such as encapsulation, inheritance, and polymorphism using plain C, provides the necessary prerequisites, and walks through complete code examples—including virtual tables—to demonstrate OOP techniques without relying on C++.

C programmingEncapsulationInheritance
0 likes · 17 min read
How to Implement Object‑Oriented Programming in C: From Encapsulation to Polymorphism
Liangxu Linux
Liangxu Linux
Dec 9, 2020 · Fundamentals

Master Linux Pipes and Redirection: A Hands‑On Guide with Code Examples

This article explains the fundamentals of Linux pipes and file redirection, covering their definitions, how they work as inter‑process communication mechanisms, how to create and use them in C with pipe(), dup2() and fork(), and how to redirect standard streams using freopen(), all illustrated with clear code snippets and diagrams.

C programmingIPCLinux
0 likes · 8 min read
Master Linux Pipes and Redirection: A Hands‑On Guide with Code Examples
Liangxu Linux
Liangxu Linux
Sep 8, 2020 · Fundamentals

Why Learning C Is Essential: From Basics to Compilation Explained

This article introduces the importance of the C language, outlines its key features and design history, walks through a simple "Hello, World" program with detailed line‑by‑line explanations, and demystifies the compilation and execution process including preprocessing, assembly, linking, and hardware interactions such as caching.

C programmingCompilationfundamentals
0 likes · 24 min read
Why Learning C Is Essential: From Basics to Compilation Explained
Liangxu Linux
Liangxu Linux
Jun 30, 2020 · Operations

Why Deleting a Linux File Doesn’t Free Space – and How to Recover It

This guide shows how a file can appear deleted on Linux yet still occupy disk space, explains the inode reference‑count mechanism, demonstrates how to reproduce the issue with dd and a C program, and provides commands like lsof and /proc inspection to locate and release such hidden usage.

C programmingLinuxdisk space
0 likes · 6 min read
Why Deleting a Linux File Doesn’t Free Space – and How to Recover It
Selected Java Interview Questions
Selected Java Interview Questions
Feb 16, 2020 · Fundamentals

Comprehensive Collection of Common Binary Tree Interview Questions and Solutions

This article compiles a wide range of typical binary tree interview problems—including judgment, construction, storage, search, distance, and mixed challenges—provides detailed explanations, multiple solution approaches, and complete C code implementations for each, serving as a thorough study guide for interview preparation.

C programmingbinary treeinterview-questions
0 likes · 30 min read
Comprehensive Collection of Common Binary Tree Interview Questions and Solutions
ITPUB
ITPUB
Feb 2, 2020 · Backend Development

How Redis Starts: A Deep Dive into server.c Initialization

This article explains the step‑by‑step process Redis follows to launch, from executing the redis‑server binary, initializing the server struct, loading configuration files, setting up data structures, restoring persistence, to entering the event loop.

C programmingServer Initializationevent loop
0 likes · 6 min read
How Redis Starts: A Deep Dive into server.c Initialization
21CTO
21CTO
Dec 4, 2019 · Fundamentals

What Linus Torvalds Reveals About Open Source, Git, and Writing Elegant Code

Linus Torvalds shares his dual impact on technology through Linux and Git, explains his pragmatic engineering mindset, the philosophy of open source collaboration, and demonstrates the difference between messy and elegant C code using real‑world examples.

C programmingGitLinus Torvalds
0 likes · 6 min read
What Linus Torvalds Reveals About Open Source, Git, and Writing Elegant Code
360 Smart Cloud
360 Smart Cloud
Sep 25, 2019 · Fundamentals

Analyzing and Fixing realloc Memory Issues in WABT's wasm2c Component

This article examines the WABT project's wasm2c memory bug caused by improper use of realloc, explains two classic realloc pitfalls—failure detection and zero‑size allocation—provides safe coding patterns, and describes the submitted fix that has been merged into the main branch.

C programmingWABTWebAssembly
0 likes · 5 min read
Analyzing and Fixing realloc Memory Issues in WABT's wasm2c Component
ITPUB
ITPUB
Jun 12, 2019 · Fundamentals

Mastering Linux Shared Memory IPC: Theory, API Calls, and a Complete Example

This article explains the principles of Linux shared memory interprocess communication, details the relevant data structures and system limits, walks through the essential API calls for creating, controlling, attaching, and detaching shared memory, and provides a full C program demonstrating parent‑child communication.

C programmingIPCInterprocess Communication
0 likes · 7 min read
Mastering Linux Shared Memory IPC: Theory, API Calls, and a Complete Example
360 Tech Engineering
360 Tech Engineering
Mar 21, 2019 · Fundamentals

Memory Leak Bugs in a 6000‑Line C Module: Lessons from Unit Testing

This article shares practical experiences from unit testing a 6000‑line C module, detailing static code review and dynamic gtest testing, uncovering common defects such as memory leaks, and presenting two memory‑leak case studies with root‑cause analysis and cleanup recommendations.

C programmingDynamic TestingSoftware quality
0 likes · 7 min read
Memory Leak Bugs in a 6000‑Line C Module: Lessons from Unit Testing
Java Captain
Java Captain
Feb 23, 2019 · Databases

Redis Internal Data Structures and Object Implementations

This article provides a comprehensive overview of Redis, covering its core concepts, common use cases, and detailed explanations of internal objects such as redisObject, dictEntry, SDS, and the underlying data structures for String, List, Hash, Set, and ZSet, including code snippets and performance characteristics.

C programmingIn-Memory DatabaseMemory Management
0 likes · 16 min read
Redis Internal Data Structures and Object Implementations
360 Tech Engineering
360 Tech Engineering
Sep 14, 2018 · Fundamentals

Understanding the Linux Kernel list.h Linked List Implementation

This article explains the classic Linux kernel list linked‑list data structure, covering its definition, file locations, core operations such as initialization, insertion, deletion, replacement, moving, splitting and merging, the list_entry macro, usage examples, and important multithreading considerations.

C programmingData StructuresLinux kernel
0 likes · 5 min read
Understanding the Linux Kernel list.h Linked List Implementation
Tencent Cloud Developer
Tencent Cloud Developer
Aug 22, 2018 · Game Development

Building an AI-Enhanced Snake Game in C

This tutorial guides you through building a classic Snake game in C using a top‑down design that includes a refresh loop, keyboard or AI‑generated commands, structures for snake, food, and map, queue‑based body handling, random food placement, hard‑coded maps, collision detection, and heuristic AI to steer the snake toward food while avoiding self‑collision and obstacles.

AI heuristicsC programmingSnake Game
0 likes · 4 min read
Building an AI-Enhanced Snake Game in C
MaGe Linux Operations
MaGe Linux Operations
Jul 15, 2018 · Fundamentals

Unlock Fast Interprocess Communication: Master Linux Shared Memory IPC

This article explains Linux shared memory IPC, covering its data structures, system limits, essential API calls for creating, controlling, attaching, and detaching memory segments, conventions between parent and child processes, and provides a complete C example demonstrating interprocess communication.

C programmingIPCLinux
0 likes · 7 min read
Unlock Fast Interprocess Communication: Master Linux Shared Memory IPC
360 Quality & Efficiency
360 Quality & Efficiency
Jul 11, 2018 · Fundamentals

Common Boundary Value Bugs in Software Testing and Their Fixes

This article reviews three typical boundary‑value bugs encountered during software testing—incorrect memory size checks, off‑by‑one retry counters, and misplaced increment operations—explaining their causes, showing original C code, and providing concise corrective solutions.

C programmingDefensive CodingSoftware Testing
0 likes · 5 min read
Common Boundary Value Bugs in Software Testing and Their Fixes
Liangxu Linux
Liangxu Linux
Jun 8, 2018 · Fundamentals

Mastering Makefiles: From a Simple One‑Line Rule to Smart Automation

This step‑by‑step tutorial shows how to write a Makefile for a tiny C program, then progressively improves it with separate object files, variables, pattern rules, and built‑in functions like wildcard and patsubst, while explaining each concept and its benefits.

Build AutomationC programmingMakefile
0 likes · 9 min read
Mastering Makefiles: From a Simple One‑Line Rule to Smart Automation
Liangxu Linux
Liangxu Linux
Jun 7, 2018 · Fundamentals

Mastering Makefiles: Essential Concepts and Practical Examples

This guide explains what a Makefile is, its advantages, naming conventions, basic syntax, workflow, common commands, special symbols, variable types, pattern rules, and built‑in functions, providing clear code examples to help developers automate compilation in Linux projects.

Build AutomationC programmingMakefile
0 likes · 10 min read
Mastering Makefiles: Essential Concepts and Practical Examples
AI Cyberspace
AI Cyberspace
May 16, 2018 · Fundamentals

Master C Operators: From Arithmetic to sizeof – A Complete Guide

This comprehensive guide explains C language operators—including arithmetic, relational, logical, assignment, comma, and sizeof—detailing their types, precedence, associativity, and usage with clear examples and code snippets to help you write correct and efficient expressions.

C programmingCode ExamplesExpression Evaluation
0 likes · 12 min read
Master C Operators: From Arithmetic to sizeof – A Complete Guide
ITPUB
ITPUB
Aug 22, 2017 · Fundamentals

Why Adding Unnecessary Sorting Can Triple Your x86 Code Speed – A Deep Dive into Performance Metrics

This article explores x86 performance optimization by comparing a simple sum‑of‑array loop with and without a pre‑sort step, demonstrating how branch prediction and cache behavior can make seemingly redundant code run up to three times faster, and outlines practical benchmarking principles and common pitfalls.

BenchmarkingC programmingCPU cycles
0 likes · 14 min read
Why Adding Unnecessary Sorting Can Triple Your x86 Code Speed – A Deep Dive into Performance Metrics
21CTO
21CTO
Mar 18, 2017 · Backend Development

Inside Baidu’s First‑Generation Spider: How a C‑Only Backend Powered Fast Search

The article recounts Xu Haiyang’s hands‑on experience designing Baidu’s early Spider system, describing its pure C procedural architecture, bug‑fixing journey, PageRank processing, team‑management analogies, and his later moves into AI and education entrepreneurship.

Backend ArchitectureC programmingPageRank
0 likes · 7 min read
Inside Baidu’s First‑Generation Spider: How a C‑Only Backend Powered Fast Search
ITPUB
ITPUB
Mar 17, 2017 · Fundamentals

Master Linux Static and Shared Libraries: Build, Link, and Load

This guide explains Linux library types, naming conventions, and step‑by‑step commands for creating static (.a) and shared (.so) libraries, managing symbolic links, checking dependencies, runtime search paths, dynamic loading, and using GNU Libtool.

C programmingGNU LibtoolShared Library
0 likes · 7 min read
Master Linux Static and Shared Libraries: Build, Link, and Load
Huawei Cloud Developer Alliance
Huawei Cloud Developer Alliance
Oct 21, 2016 · Backend Development

From C to Java: Essential Steps for a Smooth Transition

This guide walks C programmers through transitioning to Java, covering why Java is approachable, essential tools, coding standards, exception handling, core SDK libraries, object‑oriented fundamentals, and advanced topics like Effective Java, SOLID principles, design patterns, and functional programming with Java 8.

C programmingJavaJava 8
0 likes · 7 min read
From C to Java: Essential Steps for a Smooth Transition
ITPUB
ITPUB
Sep 19, 2016 · Fundamentals

Understanding Character Encoding: From ASCII to Unicode and UTF‑8

This article explains the fundamentals of character encoding, covering the evolution from the 7‑bit ASCII standard to Chinese GB2312, the development of Unicode and UTF‑8, and provides practical guidance for handling these encodings in Windows and Linux C programs, including a sample UTF‑8 detection function.

ASCIIC programmingGB2312
0 likes · 13 min read
Understanding Character Encoding: From ASCII to Unicode and UTF‑8
ITPUB
ITPUB
Sep 5, 2016 · Backend Development

Why a Barrier‑Based Config Swap Still Crashed: Uncovering a Shallow Copy Bug

A seemingly safe configuration swap using barriers caused a crash because a shallow copy duplicated resource pointers, leading to premature freeing of the active configuration; the article explains the bug, shows the faulty code, and presents a corrected approach.

BarrierC programmingResource Management
0 likes · 5 min read
Why a Barrier‑Based Config Swap Still Crashed: Uncovering a Shallow Copy Bug
21CTO
21CTO
Jun 17, 2016 · Fundamentals

Why Knowing C Still Matters: A Journey Through Programming Languages

The article explores the historical and practical reasons for mastering C, compares it with Lisp, C++, Java, Perl, Ruby, and Python, and reflects on how language choices shape software development, performance, and developer culture within large engineering teams.

C programmingC++Lisp
0 likes · 28 min read
Why Knowing C Still Matters: A Journey Through Programming Languages
21CTO
21CTO
May 12, 2016 · Backend Development

How to Read PHP’s C Source Code: A Beginner’s Guide to the Core

This article introduces developers to the fundamentals of locating, navigating, and understanding PHP 5.4's C source code, covering the repository, directory structure, essential C concepts, and the role of the Zend engine and extensions.

Backend DevelopmentC programmingExtensions
0 likes · 12 min read
How to Read PHP’s C Source Code: A Beginner’s Guide to the Core
ITPUB
ITPUB
May 10, 2016 · Fundamentals

15 Challenging C Language Quiz Questions with Detailed Explanations

This article presents a collection of fifteen C programming quiz questions, each accompanied by the original code, multiple‑choice options, the correct answer, and in‑depth explanations covering topics such as setjmp/longjmp, pointer casting, recursion, sizeof, function pointers, variadic functions, and static variables.

C languageC programmingSoftware Testing
0 likes · 15 min read
15 Challenging C Language Quiz Questions with Detailed Explanations
ITPUB
ITPUB
Jan 4, 2016 · Backend Development

Designing a Scalable 100k-Server Monitoring System: Architecture and Lessons Learned

The article outlines the architecture, design principles, challenges, and performance optimizations of a large‑scale server monitoring system built for handling hundreds of gigabytes of data per day with high availability, low latency alerts, and multi‑platform support.

C programmingmonitoringreal-time alerts
0 likes · 11 min read
Designing a Scalable 100k-Server Monitoring System: Architecture and Lessons Learned
21CTO
21CTO
Sep 29, 2015 · Fundamentals

Why Chinese Text Gets Garbled and How to Fix It – A Practical Encoding Guide

This article explains why Chinese characters often appear as mojibake on Windows and Linux, introduces the history and technical details of ASCII, GB2312, GBK, GB18030 and Unicode, and provides concrete examples and command‑line tools for inspecting and converting file encodings.

C programmingGB2312UTF-8
0 likes · 26 min read
Why Chinese Text Gets Garbled and How to Fix It – A Practical Encoding Guide