YoVDO

C++ API & ABI Versioning

Offered By: ACCU Conference via YouTube

Tags

ACCU Conference Courses Software Development Courses Data Structures Courses Contracts Courses Semantic Versioning Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore C++ API and ABI versioning in this comprehensive ACCU 2018 conference talk by Mathieu Ropert. Delve into the intricacies of maintaining software libraries, understanding the differences between API and ABI, and managing breaking and non-breaking changes. Learn about API contracts, ABI concepts such as mangling and vtable layout, and the importance of sizes, alignment, and offsets in data structures. Discover key versioning strategies like Semantic Versioning and Live at Head, and how they can be applied to handle API and ABI changes over time. Gain practical insights into categorizing changes, managing undefined behavior, and ensuring compatibility with C ABI padding. Understand the significance of inline namespaces, dependencies, and proper documentation in maintaining long-term library stability and client adaptability.

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

Related Courses

Институциональная экономика (Institutional economics)
Higher School of Economics via Coursera
Ценные бумаги: правовое регулирование
Higher School of Economics via Coursera
IT-Recht für Software-Entwickler - 9 Themen, die Sie kennen sollten
openHPI
Introductory Business Law CLEP Prep
University System of Georgia via Desire2Learn
Corporate & Commercial Law I: Contracts & Employment Law
University of Illinois at Urbana-Champaign via Coursera