CppCon 2018 has ended
Back To Schedule
Friday, September 28 • 10:30 - 11:30
The Bits Between the Bits: How We Get to main()

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

When you run your C++ code, have you ever considered how the linker, loader, operating system, C and C++ runtime all work so hard to get everything set up for you to start running your code in main()?

In this Linux-focused talk, Matt will talk about how the linker stitches together your code and how that fits in with dynamic linking. He'll touch on debugging issues with the loader, and how ODR violations can manifest themselves. Then he'll take a look at what's going on behind the scenes to get the C runtime up, and then the C++ runtime, along with all the global object constructors - showing more reasons why you shouldn't be using them!

By the end of the talk you should have an understanding of how a bundle of object files are brought together by the linker, along with the relevant runtimes, and then loaded and executed by the operating system.

avatar for Matt Godbolt

Matt Godbolt

Development Engineer, Aquatic Capital Management, LLC
Matt Godbolt is the creator of the Compiler Explorer website. He is passionate about writing efficient code. He has previously worked at a trading firm, on mobile apps at Google, run his own C++ tools company and spent more than a decade making console games. When he's not hacking... Read More →

Friday September 28, 2018 10:30 - 11:30 PDT
Breckenridge Hall (1st Floor)
  • Embedded and Systems Programming