
What we’re about
Meet local C++ coders. We will focus on modern C++ and advanced features of the language.
Upcoming events
1

How Symbols Work and Why We Need Them with Anders Schau Knatten
Location not specified yetSquarehead is hosting this event.
The office is located two minutes from Nydalen T-bane in Nydalsveien 28, 0484 Oslo.
Timetable
- 17:00 : Food and mingling, sponsored by Squarehead
- 17:30 : How Symbols Work and Why We Need Them by Anders Schau Knatten
How Symbols Work and Why We Need Them
Knowing how symbols work and how they are used can be very useful. Not only when solving linker errors but also when consuming or creating libraries, and even when creating executables. But most importantly, it is interesting to know how your binaries work!
The talk covers Linux and its ELF symbols in particular, but Windows has some similar concepts. It applies to both C and C++.
In this talk, I'll go over
- What symbols are, and why do we need them
- Why your program has three different symbol tables
- The difference between binding and visibility and how C/C++ linkage relates to the two
- Where symbols are stored and how to view them
- Global, local, weak, and unique symbols
- Allowing users to override your functions/globals
- How the linker handles C++ templates and inline variables
- Which entities need symbols and which don't
- Symbol tables used in static and dynamic linking
- Default vs hidden visibility and a useful idiom to work with these
Anders Schau Knatten
Anders started programming in Turbo Pascal in 1995, and has been programming professionally in various languages since 2001. He's currently a senior software engineer at Squarehead, working on counter-drone audio tech. He's the author of the book C++ Brain Teasers, cppquiz.org and the blog C++ on a Friday23 attendees
Past events
33

