~/talk

Shared Libraries in Windows and Linux

Talkat C++ on Sea 2023 · 2023-06-28..06-30· [linux-and-operating-systems, c-and-cpp]
links:none on file
slides:none on file

Compares Windows IAT import/export model (import libs produce import stubs and export stubs) to Linux PLT/GOT lazy binding where the loader (ld‑linux.so) fills GOT slots on first call; shows that Linux requires -fPIC for shared libs, defaults to lazy binding (LD_BIND_NOW overrides), and allows executable interposition and circular shared‑lib deps while Windows forbids them and supports optional delay‑load. Notes mismatch with C++ standard on replacing memory allocators and function pointer equality.

AI-written summary · about

  1. 0:00Intro
  2. 1:47Intro to Linking in 3 slides, #1
  3. 5:54Import data section
  4. 6:18idata section layout
  5. 7:35Import Library
  6. 9:51Windows Schematic Interface
  7. 10:27Linux import sections
  8. 10:49Linux Schematic Interface
  9. 19:21Resolution Time
  10. 20:24Linux: Intermediate Summary
  11. 21:05How to form a process-wide singleton?
  12. 21:51Can you have circular library dependencies?
  13. 24:44Can a shared-library symbol be overridden from an executable?
  14. 29:16Procedure Linkage Table (PLT)
  15. 32:18Comparing Func Ptrs
  16. 34:48Windows .idata section
  17. 35:19No analogue mechanism in Windows
  18. 36:13Symbol Visibility - Windows
  19. 37:18Symbol Visibility - Linux
  20. 40:44Component Map
  21. 42:38C++ and Shared Libs
  22. 48:26Resources
~/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.