What Every Python Developer Should Know About the CPython ABI
Summary
This article covers essential knowledge for Python developers about the CPython Application Binary Interface (ABI), including its implications for extension modules and compatibility.
Similar Articles
Thoroughly Understanding C++ ABI
A deep dive into C++ ABI, explaining binary interface concepts, CPU/OS dependencies, object file formats like ELF and PE32+, and calling conventions.
ABI vs. API (2004)
An article from 2004 explaining the difference between ABI (Application Binary Interface) and API (Application Programming Interface), likely discussing their roles in software development and compatibility.
To Save C, We Must Save ABI
The author argues that despite the common call to break ABI to save C++, preserving a stable ABI is necessary to allow C to evolve, and discusses the trade-offs and constraints ABI stability imposes on language and standard library improvements.
The case against a C alternative (2022)
The article argues against replacing the C programming language with alternatives, highlighting challenges such as toolchain maturity, language uncertainties, developer pool limitations, and C ABI compatibility issues.
On C extensions, portability, and alternative compilers
This article discusses the practical challenges of writing portable C code due to reliance on non-standard compiler extensions and glibc's conditional headers, illustrating with examples from building a C compiler.