Yes! For kernel mode each program has its own main() implementation, not the definition. BR, Alan
On Tue, Jan 9, 2024 at 10:34 PM Gregory Nutt <spudan...@gmail.com> wrote: > > On 1/9/2024 7:28 PM, Alan C. Assis wrote: > > Hi Yf, > > Just look at your System.map and you will see that all those main() > became > > <program>_main. > > > > It isn't possible to have a unique main() symbol, otherwise we will have > a > > duplicated symbol, also even if the compiler accepted that, how could > NuttX > > know you want to call the main from Hello instead of the main from Alarm? > > > > BR, > > > > Alan > This is not true in the kernel build mode. All applications run at > exactly the same virtual address and the entry point is main() for all > of them. In the kernel build, all applications are loadable modules. > None of the symbols in the loadable modules will appear in System.map > since each application module is separately compiled and linked.