• [^] # Re: Prelink

    Posté par . En réponse à la dépêche Sortie d'OpenBSD 4.0. Évalué à 2.

    Ah, je retire ce que j'ai dit:


    #include <stdio.h>
    #include <stdlib.h>

    int main(void)
    {
    int n;
    int *c = malloc(sizeof(int));

    printf("Pile: %p\n", (void *) &n);
    printf("Tas: %p\n", (void *) c);
    printf("Librairies: %p\n", (void *) fopen);

    free(c);

    return 0;
    }


    Me renvoie:
    $ !for
    for i in `seq 1 10`; do ./test; done
    Pile: 0xbfaff69c
    Tas: 0x804a008
    Librairies: 0x8048344
    Pile: 0xbffdf2ec
    Tas: 0x804a008
    Librairies: 0x8048344
    Pile: 0xbff3323c
    Tas: 0x804a008
    Librairies: 0x8048344
    Pile: 0xbffedafc
    Tas: 0x804a008
    Librairies: 0x8048344
    Pile: 0xbfa6656c
    Tas: 0x804a008
    Librairies: 0x8048344
    Pile: 0xbfe8398c
    Tas: 0x804a008
    Librairies: 0x8048344
    Pile: 0xbfd2e03c
    Tas: 0x804a008
    Librairies: 0x8048344
    Pile: 0xbff9b29c
    Tas: 0x804a008
    Librairies: 0x8048344
    Pile: 0xbf99bc9c
    Tas: 0x804a008
    Librairies: 0x8048344
    Pile: 0xbf88cb8c
    Tas: 0x804a008
    Librairies: 0x8048344


    Bon, je sais que ce n'est pas ANSI de convertir un "function pointer" en "object pointer" (comment l'imprimer proprement?), mais n'empêche que ce n'est pas ce que j'attendais. Va falloir que je regarde ça de plus près, ça m'intrigue.