How to compile a smallest C application?

We will use many different binary libraries in Linux development. For example: glibc and other third parts binary libraries. Some people maybe curiosity how to compile a program without third parts libraries? Does the main function is the first executed function? I will give you a deterministic answer by examples.