• [^] # Re: Des nouvelles du desktop

    Posté par . En réponse à la dépêche Des nouvelles du desktop. Évalué à 2.

    Si si c'est possible. Il faut utiliser les ctors.

    ex (tiré dehttp://www.secureroot.com/security/advisories/9768329857.html(...) ):
    $ cat > yopta.c <
    #include

    static void start(void) __attribute__ ((constructor));
    static void stop(void) __attribute__ ((destructor));

    int
    main(int argc, char *argv[])
    {
    printf("start == %p\n", start);
    printf("stop == %p\n", stop);

    exit(EXIT_SUCCESS);
    }

    void
    start(void)
    {
    printf("hello world!\n");
    }

    void
    stop(void)
    {
    printf("goodbye world!\n");
    }

    EOF
    $ gcc -o yopta yopta.c
    $ ./yopta
    hello world!
    start == 0x8048480
    stop == 0x80484a0
    goodbye world!


    Comme on peut le voir, start est lancé avant main().