• # Facile

    Posté par (site web personnel) . En réponse au journal Perles de C. Évalué à 9.

    Vu qu'on a pas le reste du code, j'ai le droit de supposer que les variables sont inutilisés, donc d'optimiser ça en retirant le code mort, donc ça crée un binaire qui fait rien.

    Je viens de vérifier codant un main avec cette ligne et un main avec rien. Quand je compile avec -s, il y a 4 lignes en plus:

    movq 0ドルx0,-0x20(%rbp)
    movq 0ドルx0,-0x18(%rbp)
    lea -0x4(%rbp),%rax
    mov %rax,-0x20(%rbp)
    

    Sauf erreur de ma part, ça initialise 2 variable à 0, et copie une variable de la stack vers ailleurs (un ailleurs mis à 0 plus tot).

    Avec gcc -O3, ça donne bien la même chose entre les 2 codes (cad, rien), ergo, mon analyse est correct.