Binary Compatibility for Library Developers
Offered By: CppNow via YouTube
Course Description
Overview
Explore the intricacies of binary compatibility for library developers in this comprehensive CppNow conference talk. Delve into the challenges faced by C++ library developers regarding ABI and binary compatibility, topics intentionally left out of the C++ standard. Learn about the complex C++ ABI implementations across different compilers and platforms. Discover simple guidelines, checklists, tooling, and processes to guarantee binary compatibility between releases, drawing from real-world examples used by Qt and KDE. Examine how Qt 4 maintained binary compatibility for over 7 years across multiple releases, and understand the mistakes made and corrected. Gain insights into compiler ABI implementation details, dynamic linking, and work guidelines for maintaining large libraries compatible with previous versions. Cover topics such as forward and backward compatibility, mangled names, inline namespaces, and experimental symbols.
Syllabus
Introduction
GCC
What is binary compatibility
Behavior
Forwards and backwards
Why should you care
Dynamic linking
Details
Removes
Retains
mangled names
things that dont work
Renaming
Inline namespace
ICU experimental symbols
How to make it work
Work guidelines
Taught by
CppNow
Related Courses
Your Favorite Undefined Behavior in C++CppNow via YouTube Under the Hood - Assembly, System Calls, and Hardware in C++
CppNow via YouTube Carbon Language Successor Strategy - From C++ Interop to Memory Safety
CppNow via YouTube Value Oriented Programming Part 1 - You Say You Want to Write a Function
CppNow via YouTube Introducing a Memory-Safe Successor Language in Large C++ Code Bases
CppNow via YouTube