Have you ever wondered how the famous “Hello World!” actually works? This article dives deep into the assembly code of what happens under the hood when a “Hello World!” C program is executed. It primarily uncovers the dynamic linking process for functions like printf.

Let’s take the basic “Hello World!” program that looks like the following:

Our compiler (if you want an overview of the compilation and linking process the following articles will be helpful: overview and static linking) has turned this C source code into assembly code which are instructions that map to bits which the machine can…


In a previous article, we gave an overview of what the linker does. In this article, we will dive deeper into how static linking works.

What does static linking mean?

Static linking takes in a set of relocatable object files and creates an executable object file which can be used to run your program. When a program is compiled, it compiles all the files separately and ignores undefined symbols (initialized but undefined functions or variables). …


You may have wondered at some point: how does a program of multiple files access variables or functions defined in other files? That is the goal of the linker. The linker aims to take multiple pieces of code and combine them into one that can be read and understood by the computer. This has allowed us to decompose large software projects into smaller sets of libraries or modules.

In C, we usually use a compiler which preprocesses source code, compiles it, assembles it, and then links it for us. The first step in this is preprocessing source code.

Let’s look…


Facebook’s Big Win

After months of talks about including a Facebook ‘dislike’ button, the social media company has finally made a move. Expanding the palette of expression beyond the ‘like’ button, Facebook added the opportunity for any user to more clearly express their opinion through Reactions. The Facebook community has longed for a dislike button not because they wanted the ability to express disapproval, but because they wanted the opportunity to express a range of emotions. Zuckerberg acknowledges the limits of the like button saying, “Not every moment you want to share is happy. …

Kunal Desai

Software Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store