Learn AI, Data Science & Business — Earn Certificates That Get You Hired
The Most Addictive Python and SQL Courses
Overview
Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
This talk explains how changes to a C++ library affect API and ABI compatibility, including breaking changes and techniques for managing them. It covers ABI details such as name mangling, vtable layout, and data structure sizes and alignment, then discusses Semantic Versioning and Live at Head.
Syllabus
Intro
Questions to ask yourself
Reasonable use
API
Categorizing Changes
Contract Changes
Practical Impact
Nonbreaking Impact
Undefined Behavior
Breaking Changes
No compiler ISO
ABI
Mangling
Symbol ID
Inline functions
Table layouts
Binary representation of types
Example
General rule
Compatibility with C
ABI padding
Semantic versioning
Binary compatibility
Traditional ABI
Major minor patch
Minor ABI patch
ABI compatibility
Allow upgrades
Databydesign
Documentation
ABI in versioning
Inline namespaces
Inline namespace example
Dependencies
Taught by
ACCU Conference