Tagged articles
21 articles
Page 1 of 1
Liangxu Linux
Liangxu Linux
Jun 17, 2025 · Fundamentals

Demystifying ELF: How Linux Turns a Binary into a Running Process

This article explains the ELF (Executable and Linkable Format) file structure, how to identify ELF binaries, the roles of headers, program and section tables, the compilation‑to‑execution lifecycle, and practical tools for inspecting and manipulating ELF files on Linux.

ELFExecutable FormatTooling
0 likes · 20 min read
Demystifying ELF: How Linux Turns a Binary into a Running Process
Alibaba Cloud Developer
Alibaba Cloud Developer
Dec 11, 2024 · Fundamentals

How Linux Dynamic Linking Works: From PIC to Lazy Binding Explained

This article explores the mechanisms of dynamic linking on Linux, covering global symbol interposition, lazy binding, position‑independent code, relocation tables, hidden symbols, and initialization order, with detailed code examples and assembly analysis to help developers understand and troubleshoot symbol conflicts and address‑independent execution.

ELFPICdynamic linking
0 likes · 40 min read
How Linux Dynamic Linking Works: From PIC to Lazy Binding Explained
Liangxu Linux
Liangxu Linux
Aug 5, 2024 · Fundamentals

Static vs Dynamic Libraries: Save Disk Space and Simplify Updates

This article explains how programs are laid out in memory, walks through the compilation and linking stages, compares static and dynamic linking, and shows why dynamic libraries reduce disk and memory usage while making bug fixes easier.

CompilationStatic Linkingdynamic linking
0 likes · 8 min read
Static vs Dynamic Libraries: Save Disk Space and Simplify Updates
IT Services Circle
IT Services Circle
Jun 21, 2024 · Fundamentals

Understanding the Difference Between Static and Dynamic Libraries

This article explains how programs are laid out in memory, the roles of code, data, heap, and stack sections, and compares static linking, which bundles all code into the executable, with dynamic linking, which loads shared libraries at runtime to save disk and memory space.

CompilationStatic Linkingdynamic linking
0 likes · 9 min read
Understanding the Difference Between Static and Dynamic Libraries
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Jan 31, 2024 · Mobile Development

How NetEase Cloud Music Achieved Seamless RN Upgrades with a Dual‑Dynamic‑Library Gray Release

This article details NetEase Cloud Music's engineering solution for gradually upgrading its iOS React Native version using a dual dynamic‑library gray‑release strategy, covering background, challenges, symbol handling, code modifications, and practical issues to enable zero‑impact, data‑driven rollouts.

AB testingReact NativeSymbol Binding
0 likes · 14 min read
How NetEase Cloud Music Achieved Seamless RN Upgrades with a Dual‑Dynamic‑Library Gray Release
Su San Talks Tech
Su San Talks Tech
Nov 4, 2023 · Fundamentals

Unlock Java’s Secrets: How Bytecode Powers Cross‑Platform Execution

This article introduces Java’s bytecode fundamentals, explaining how the JVM translates compiled class files into platform‑independent instructions, the role of dynamic linking, stack frames, operand stacks, and common bytecode mnemonics, while providing code examples and visual diagrams to deepen understanding.

JVMdynamic linkingjava
0 likes · 17 min read
Unlock Java’s Secrets: How Bytecode Powers Cross‑Platform Execution
ByteDance Web Infra
ByteDance Web Infra
Jun 8, 2023 · Fundamentals

Modular Programming and Dynamic Linking in JavaScript and WebAssembly

This article explains the principles of modular programming, examines JavaScript and asm.js module systems, and details how WebAssembly extends these concepts with import/export sections and dynamic linking mechanisms, while also reviewing current proposals and future trends for module linking and component models.

JavaScriptModular ProgrammingWebAssembly
0 likes · 28 min read
Modular Programming and Dynamic Linking in JavaScript and WebAssembly
ByteFE
ByteFE
Jun 2, 2023 · Fundamentals

Modular Programming and Dynamic Linking in WebAssembly and JavaScript

This article explains the principles of modular programming, examines JavaScript and asm.js module systems, details how WebAssembly implements import/export and dynamic linking, and reviews current proposals such as ES Module integration, Module Linking, and Component Model that shape the future of WebAssembly modularity.

JavaScriptModular ProgrammingModule Linking
0 likes · 29 min read
Modular Programming and Dynamic Linking in WebAssembly and JavaScript
AI Cyberspace
AI Cyberspace
Mar 7, 2023 · Fundamentals

Unlocking the Secrets of C Compilation: From Source to Executable

This article explains the fundamental concepts behind C language compilation, covering lexical, syntax, and semantic analysis, GCC options, file types, static and dynamic linking, ELF structure, and the loader process that turns source code into a runnable program.

CompilationELFLinker
0 likes · 23 min read
Unlocking the Secrets of C Compilation: From Source to Executable
ByteDance SYS Tech
ByteDance SYS Tech
Dec 9, 2022 · Fundamentals

How Sanitizer Interceptors Detect Memory Bugs in Linux C++ Programs

This article explains the principles behind Google’s sanitizer tools, especially AddressSanitizer, covering symbol interposition, the interceptor mechanism, and how these techniques replace libc functions to reliably locate memory and thread errors in C++ applications on Linux.

AddressSanitizerC++Memory Debugging
0 likes · 18 min read
How Sanitizer Interceptors Detect Memory Bugs in Linux C++ Programs
ByteDance Terminal Technology
ByteDance Terminal Technology
May 11, 2022 · Fundamentals

Common Misconceptions in iOS15 Dynamic Linking and Mach‑O Fixup Chains

This article clarifies three frequent misunderstandings about iOS15+ dynamic linking—namely the encoding of b/bl instructions, the need for rebase/bind in __TEXT segments, and the mismatch between Mach‑O segment VM size and file size—by explaining the underlying ARM64 architecture, PIC concepts, and providing concrete dyld tool examples.

AssemblyMach-Obinary analysis
0 likes · 11 min read
Common Misconceptions in iOS15 Dynamic Linking and Mach‑O Fixup Chains
ByteDance Terminal Technology
ByteDance Terminal Technology
Mar 15, 2022 · Mobile Development

Understanding Fixup Chain: Apple’s New Dynamic Linking Technique in iOS 15

Fixup chain, introduced in iOS 15, replaces the previous compressed‑byte‑stream rebase/bind format with a linked‑list style structure that stores dynamic‑link information more compactly, improves space locality, reduces binary size, and speeds up app launch by allowing a single pass rebase and bind process.

BINDMach-Odynamic linking
0 likes · 31 min read
Understanding Fixup Chain: Apple’s New Dynamic Linking Technique in iOS 15
Alibaba Terminal Technology
Alibaba Terminal Technology
Mar 7, 2022 · Mobile Development

How to Combat Android .so Library Bloat and Compatibility Issues

This article examines the challenges of Android native .so libraries—including ABI incompatibility, duplicate and conflicting binaries, and unnecessary exported symbols—while presenting practical detection tools, static vs. dynamic STL linking strategies, loading process analysis, and comprehensive governance solutions to keep app size and stability in check.

AndroidSOabi
0 likes · 22 min read
How to Combat Android .so Library Bloat and Compatibility Issues
Liangxu Linux
Liangxu Linux
May 9, 2021 · Fundamentals

Mastering Linux Library Linking: From Static Archives to Dynamic Loading

This tutorial walks through Linux library management, demonstrating how to build and inspect static (.a) and shared (.so) libraries, configure runtime search paths with LD_LIBRARY_PATH, customize linker behavior, and handle multi‑architecture library locations using practical command‑line examples.

LD_LIBRARY_PATHLinuxStatic Linking
0 likes · 11 min read
Mastering Linux Library Linking: From Static Archives to Dynamic Loading
DeWu Technology
DeWu Technology
Feb 7, 2021 · Information Security

ELF PLT Hook: Principles, Usage, and Implementation on Android

ELF PLT Hook on Android intercepts shared‑library calls by overwriting GOT/PLT entries, providing a stable production‑ready method for tasks such as APM monitoring, APK unpacking and performance profiling, with a clear workflow, dynamic‑linking background, and a practical implementation using the plthook library.

AndroidELFNative Hook
0 likes · 17 min read
ELF PLT Hook: Principles, Usage, and Implementation on Android
Meituan Technology Team
Meituan Technology Team
Jul 20, 2017 · Mobile Development

Remote Debugging of Android Apps via Custom JDWP Channels

The article describes how to remotely debug Android apps by creating a custom JDWP socket channel that bypasses Android 7.0’s library restrictions using a fake dlsym ELF parser, enabling developers to retrieve runtime state from production builds without prior instrumentation or user cooperation.

AndroidELFdynamic linking
0 likes · 16 min read
Remote Debugging of Android Apps via Custom JDWP Channels
ITPUB
ITPUB
Mar 11, 2016 · Fundamentals

How to Build and Link a Shared Library (.so) on Linux with GCC

This guide explains the naming conventions, source code, compilation commands, and linking techniques for creating a Linux shared library (.so) using GCC, including options like -fpic, -shared, absolute‑path linking, and the -l flag after copying the library to /usr/lib.

CompilationLinuxShared Library
0 likes · 6 min read
How to Build and Link a Shared Library (.so) on Linux with GCC