

I haven’t done much low level stuff, but I think the ‘main’ function is something the compiler uses to establish an entry point for the compiled binary. The name ‘main’ would not exist in the compiled binary at all, but the function itself would still exist. Executable formats aren’t all the same, so they’ll have different ways of determining where this entry point function is expected to be. You can ‘run’ a binary library file by invoking a function contained therein, which is how DLL files work.
I have a bike I put together with this mindset and it’s pretty awesome. If any component dies I can replace it individually, even if it’s not made by the same company. No reason an electric car couldn’t have the same benefits except that the average consumer doesn’t care about planning ahead