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

CServer Side ProgrammingProgramming

#### C in Depth: The Complete C Programming Guide for Beginners

45 Lectures 4.5 hours

#### Practical C++: Learn C++ Basics Step by Step

Most Popular

50 Lectures 4.5 hours

#### Master C and Embedded C Programming- Learn as you go

66 Lectures 5.5 hours

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\$
Updated on 30-Jul-2019 22:30:26