“Hello, world?” — What really happens when you compile & run a simple program

Original Author: Jonathan Adamczewski

This is a presentation I delivered recently for The UTAS Computing Society in their TUCS Tech Talk series.

Executable and Linking Format :), some oversights and carelessness with terms. I don’t think there’s anything that will get me burned at the stake, but I’ll try harder next time. I promise.

The video is only what was on my laptop screen, which means that there is not much activity at times. You also miss out on my excitable arm-waving at key points in the presentation — let your imagination fill in the blanks.

I hope that you enjoy it, and that you will post questions and corrections for me in the comments 🙂

Meta

I referred to this article in the talk: @ArmyOfBruce.

Under Ubuntu/Debian, installation of source tarballs may be performed using apt-get source $packagename. To be able to debug into the C library, you can install the libc6-dbg package.

I highly recommend the ack program (packaged as ack-grep for Debian/Ubuntu) for command-line based static program comprehension.

The presentation was done from a laptop running Kubuntu 10.10 and its packaged gcc, gdb, eglibc, etc. Audio was captured using Audacity. The screen was recorded using FFmpeg (which. in hindsight, also could have captured audio). AV editing was done with Kdenlive.