Forum Discussion
Altera_Forum
Honored Contributor
16 years agoWhat is the difference between main() and alt_main()?
I write a very simple program, driving LED through PIO. Both function can work. If using main() , the code size is 1940 bytes. If alt_main(), the code size is 472 bytes. It seems that main() include some initialization.
Can anyone explain the difference, or recommend some documents to read? Thanks.3 Replies
- Altera_Forum
Honored Contributor
Actually it is the default alt_main() that contains the extra code - either side of the call to main().
Largely this is code for initialising stdio for printf() - which pulls in a lot of library code. - Altera_Forum
Honored Contributor
Hi sabertooth
I copy here the comment to alt_main() definition /* * alt_main is the C entry point for the HAL. It is called by the assembler * startup code in the processor specific crt0.S. It is responsible for: * completing the C runtime configuration; configuring all the * devices/filesystems/components in the system; and call the entry point for * the users application, i.e. main(). */ Regards - Altera_Forum
Honored Contributor
Many thanks to Cris72.