URL: https://linuxfr.org/forums/programmation-c--2/posts/gcc-et-taille-des-ex%C3%A9cutables Title: GCC et taille des exécutables Authors: Gilles G. Date: 2008年01月26日T21:13:39+01:00 Tags: Score: 0 Bonsoir, je viens de me rendre compte que le programme suivant: fichier: minimal.c **int** main(){ **return** 0;} génère un exécutable de 6,2ko lorsqu'on le compile avec GCC de la façon suivante: `**gcc** minimal.c -o minimal` Pourtant normalement (sous linux) le code assembleur de ce programme est le suivant: **.global** _start _start: **mov** 1,ドル%eax /* Mettre 1 dans eax (appel système ''Exit'') */ £spaces£ £/spaces£**mov** 0,ドル%ebx /* Mettre 0 dans ebx (valeur de retour du programme) */ £spaces£ £/spaces£**int** 0ドルx80 /* Interruption 0x80, executant un appel systeme sous [[Linux]]) */ Et ce code assembleur une fois assemblé fait 460 octets. J'ai l'impression qu'il y a une question de runtime C derrière tout ça, mais j'avoue que j'ai quand même un peu de mal à comprendre comment GCC réussit à inclure plus de 6ko de données inutiles: il n'y a pas de suppression du code mort dans GCC? Merci pour vos lumières!

AltStyle によって変換されたページ (->オリジナル) /