Must program execution start from main, or can the starting address be modified?
#include
void fun();
#pragma startup fun
int main()
{
As far as the ISO C Standard is concerned, the entry point for a C program is always main (unless some implementation-defined feature is used to override it) for a hosted implementation. For a "freestanding implementation" (typically an embedded system, often with no operating system), the entry point is implementation-defined.