crt0 (also known as c0) is a set of execution startup routines compiled into a program which perform any initialization work required before calling the program's main function. The work performed by crt0 depends on the program's language, compiler, operating system and C standard library implementation.
"crt" stands for "C runtime" (the zero stands for "the very beginning"). However, when compiling using GCC, it is also included for other languages than C.
Alternative versions of crt0 are available for special situations. For example, the profiler gprof requires its programs to be compiled with "gcrt0".[1]