~/talk

API & ABI Versioning...

Talkat CppCon 2017 · 2017-09-24..09-29
slides:none on file

Defines API vs ABI by concrete effects: symbol mangling changes when argument types change, struct size/alignment and member order change binary layouts, and adding or reordering virtual functions shifts the vtable layout so binaries break. Recommends using explicit export macros, keeping a changelog, bumping major for any API or ABI break, minor for backward-compatible additions, patch for internal fixes, and shipping migration scripts. Explains mangling and advocates embracing semantic versioning that accounts for ABI.

AI-written summary · about

  1. 0:00Intro
  2. 7:42Communication
  3. 9:02API
  4. 12:57Changes
  5. 13:55Change Types
  6. 15:01No Change
  7. 15:33Define Behavior
  8. 16:17Nonbreaking Changes
  9. 17:01Relaxed Changes
  10. 18:55Breaking Changes
  11. 20:27Positive Integers
  12. 24:53ABI
  13. 25:51Infrastructure
  14. 26:58Mangling
  15. 28:36Changing type
  16. 29:39API symbols
  17. 32:17Vtable
  18. 33:47Layout
  19. 34:58Binary Layout
  20. 38:46Semver
  21. 40:14Convention
  22. 41:13Documentation
  23. 42:25How to include API
  24. 44:57Dependency changes
  25. 46:28Can I do more
  26. 47:33Two things might impact
  27. 55:37QA
  28. 57:50Downgrade
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.