• [^] # Re: Type de compilation ?

    Posté par (site web personnel) . En réponse au message Différence affectation de structure et memcpy. Évalué à 2.

    J'ai donc compilé avec ma libc une fonction qui contient le code ci-dessus.

    Code qui plante :

    .LCFI1:
     .cfi_def_cfa_register 5
     pushl %edi
     pushl %esi
     pushl %ebx
     subl 176,ドル %esp
     .loc 1 9 0
     leal -188(%ebp), %edx
     leal -100(%ebp), %ebx
     .cfi_offset 3, -20
     .cfi_offset 6, -16
     .cfi_offset 7, -12
     movl 22,ドル %eax
     movl %edx, %edi
     movl %ebx, %esi
     movl %eax, %ecx
     rep movsl
     .loc 1 12 0
     movl 0,ドル %eax
     .loc 1 13 0
     addl 176,ドル %esp
     popl %ebx
     .cfi_restore 3
     popl %esi
     .cfi_restore 6
     popl %edi
     .cfi_restore 7
     popl %ebp
    
    

    code qui ne plante pas :

    .LCFI1:
     .cfi_def_cfa_register 5
     andl $-16, %esp
     subl 192,ドル %esp
     .loc 1 10 0
     movl 88,ドル 8(%esp)
     leal 104(%esp), %eax
     movl %eax, 4(%esp)
     leal 16(%esp), %eax
     movl %eax, (%esp)
     call memcpy
     .loc 1 12 0
     movl 0,ドル %eax
     .loc 1 13 0
     leave
     .cfi_restore 5
    
    

    Est-ce que quelqu'un qui parle l'assembleur x86 couramment pourrait en faire un petit commentaire ?