Also, do y’all call main() in the if block or do you just put the code you want to run in the if block?

  • namingthingsiseasy@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    3 days ago

    There are a lot of other helpful replies in this thread, so I won’t add much, but I did find this reference, which you could read if you have a lot of free time. But I particularly liked reading this summary:

    • _start calls the libc __libc_start_main;
    • __libc_start_main calls the executable __libc_csu_init (statically-linked part of the libc);
    • __libc_csu_init calls the executable constructors (and other initialisatios);
    • __libc_start_main calls the executable main();
    • __libc_start_main calls the executable exit().