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


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
");       _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$

Updated on: 30-Jul-2019

7K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements