Je voudrais recueillir ici ce qui se passe lorsque vous exécutez un exécutable sous Windows, Linux et OSX. En particulier, je voudrais comprendre exactement l'ordre des opérations: je suppose que le format de fichier exécutable (PE, ELF ou Mach-O) est chargé par le noyau (mais j'ignore les différentes sections du ELF (Exécutable et Linkable Format) et leur signification), et puis vous avez l'éditeur de liens dynamique qui résout les références, puis la partie __init
de l'exécutable est exécuté, puis le principal, puis le __fini
, puis le programme est terminé, mais je suis sûr qu'il est très rude, et probablement faux.Que se passe-t-il lorsque vous exécutez un programme?
Modifier: la question est maintenant CW. Je me remplis pour Linux. Si quelqu'un veut faire la même chose pour Win et OSX ce serait génial.
Est-ce que c'est juste moi, ou la portée de cette question est-elle trop large? – mezoid
Je ne pense pas que ce soit trop large, mais devrait probablement être wiki de la communauté –
Je voudrais mettre une prime là-dessus si je ne reçois pas assez de commentaires. Je ne serai pas capable de le faire si c'est CW. –