Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Shared Libraries in Windows and Linux - Linking and Loading Deep Dive

cpponsea via YouTube

Overview

Explore the intricacies of shared libraries in Windows and Linux operating systems in this comprehensive conference talk from C++ on Sea 2023. Dive deep into linking and loading operations, examining binary structures, clarifying static vs dynamic linkage, and highlighting the differences between Linux and Windows. Learn how to decipher complex linker error messages and gain a thorough understanding of import data sections, library interfaces, resolution timing, and symbol visibility. Discover solutions for process-wide singletons, circular library dependencies, and symbol overriding. Investigate the Procedure Linkage Table (PLT) and its absence in Windows, compare function pointers, and explore the relationship between C++ and shared libraries. Ideal for developers seeking to enhance their knowledge of low-level programming concepts and troubleshoot linking issues effectively.

Syllabus

Intro
Intro to Linking in 3 slides, #1
Import data section
idata section layout
Import Library
Windows Schematic Interface
Linux import sections
Linux Schematic Interface
Resolution Time
Linux: Intermediate Summary
How to form a process-wide singleton?
Can you have circular library dependencies?
Can a shared-library symbol be overridden from an executable?
Procedure Linkage Table (PLT)
Comparing Func Ptrs
Windows .idata section
No analogue mechanism in Windows
Symbol Visibility - Windows
Symbol Visibility - Linux
Component Map
C++ and Shared Libs
Resources

Taught by

cpponsea

Reviews

Start your review of Shared Libraries in Windows and Linux - Linking and Loading Deep Dive

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.