~/talk

Linkers, Loaders and Shared Libraries in Windows, Linux, and C++

Talkat CppCon 2023 · on Monday, 2023-10-02· [devops-and-delivery]
links:none on file
slides:none on file

Explains concrete differences: Windows uses an IAT and explicit imports so symbols cannot be interposed and delay‑load is off by default, Linux uses a GOT and PLT plus breadth‑first search so interposition and lazy binding are possible. Recommends build flags: -fvisibility=hidden, -Bsymbolic and -zrelro/-znow (or DZLAZY tradeoffs). Cites numbers: Python gained ~1.3x speedup by blocking interposition; compilers report up to 30% max (≈1% average) from devirtualization. Describes how function pointers, PIC and ELF resolver stubs actually behave.

AI-written summary · about

  1. 0:00Introduction to linking
  2. 1:06Linking and loading basics
  3. 6:50Windows vs. Linux linking
  4. 9:50Interposition and symbol binding
  5. 24:23Position independent code
  6. 32:31Lazy binding mechanics
  7. 33:48Function pointer comparison
  8. 36:39Visibility and security
  9. 45:19Best practices and conclusions
  10. 51:10Q&A session
~/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.