<P> In computer programming, an entry point is where control is transferred from the operating system to a computer program, at which place the processor enters a program or a code fragment and execution begins . In some operating systems or programming languages, the initial entry is not part of the program but of the runtime library, in which case the runtime library initializes the program and then the runtime library enters the program . In other cases, the program may call the runtime library before doing anything when it is entered for the first time, and, after the runtime library returns, the actual code of the program begins to execute . This marks the transition from load time (and dynamic link time, if present) to run time . </P> <P> In simple layouts, programs begin their execution at the beginning, which is common in scripting languages, simple binary executable formats, and boot loaders . In other cases, the entry point is at some other fixed point, which is some memory address than can be an absolute address or relative address (offset). </P> <P> Alternatively, execution of a program can begin at a named point, either with a conventional name defined by the programming language or operating system, or at a caller - specified name . In many programming languages, notably C, this named point is a function called main; as a result, the entry point is often called the main function . </P> <P> Entry points apply both to source code and to executable files . However, in day - to - day software development, programmers specify the entry points only in source code, which makes them much better known . Entry points in executable files depend on the application binary interface (ABI) of the actual operating system, and are generated by the compiler or linker (if not fixed by the ABI). Non-executable object files may also have entry points, which are used later by the linker when generating entry points of an executable file . </P>

Where is the main() function located in a c or c++ program