Here we will see, one program can be written without main or not? The answer is yes. We can write program, that has no main() function.
In many places, we have seen that the main() is the entry point of a program execution. Just from the programmers perspective this is true. From the system’s perspective it is not true. So the system at first calls the _start(), this sets up the environment, then main is called.
To execute this program we have to use this option ‘-nostartfiles’.
Example
#include <stdio.h> extern void _exit(register int); int _start() { printf("Program without main\n"); _exit(0); }
Output
soumyadeep@soumyadeep-VirtualBox:~/Cpp_progs$ gcc test_prog.c -nostartfiles soumyadeep@soumyadeep-VirtualBox:~/Cpp_progs$ ./a.out Program without main soumyadeep@soumyadeep-VirtualBox:~/Cpp_progs$