How to write a running C code without main()?

CServer Side ProgrammingProgramming

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$
raja
Published on 03-May-2019 07:46:12
Advertisements