~/talk

How to Build Binary-Compatible APIs in Compiled Languages?

TalkinRussianat HighLoad++ 2023 · 2023-11-27..11-28· [software-architecture]
links:none on file
slides:none on file

Describes how to design binary-compatible APIs for compiled languages when splitting a product into independently evolving components. Covers problems like ABI stability, versioning and compatibility, and practical techniques (layout rules, indirection, stability-minded data types and symbols) to evolve components without breaking binaries.

AI-written summary · about

  1. 0:00Binary-compatible APIs intro
  2. 1:56Why binary compatibility matters
  3. 3:03Memory representation of structures
  4. 7:10API design pitfalls
  5. 9:23Padding and alignment rules
  6. 10:49Opaque structure approach
  7. 14:03Public vs private definitions
  8. 16:18Automatic padding calculation
  9. 17:46Field ordering in structures
  10. 19:15Handling enums in APIs
  11. 21:24Bit fields and flags
  12. 23:01Extending structures safely
  13. 24:51Reserving future space
  14. 25:35Version and feature checks
  15. 28:48Standards and tools
  16. 29:31Q&A
~/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.