IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

probleme lors de l'execution de mon programme


Sujet :

C

  1. #1
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut probleme lors de l'execution de mon programme
    bonjour;
    j'ai à effectuer un programme qui donne le code ascii d'une touche tapée au clavier;
    voila le programme que j'ai écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include<stdio.h>
    void main ()
    {
    char c;
    unsigned char c;
    printf("taper une touche");
    c=getchar();
    printf("le code ascii de %c est:%d",c,c);
    bon je travaille sous visual c++;mais lors de ma compilation on m'a signalé une erreur qui est:'c' redifinition diffrent basic types!
    merci

  2. #2
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <stdio.h>
     
    int main (void)
    {
       int c;
       printf("taper une touche");
       c=getchar();
       printf("le code ascii de %c est:%d\n",(char)c,c);
       return 0;
    }

  3. #3
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    mais lors de ma compilation on m'a signalé une erreur qui est:'c' redifinition diffrent basic types!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char c;
    unsigned char c;
    c est-il char ou unsigned char ?

  4. #4
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 27
    Points : 23
    Points
    23
    Par défaut
    Tu as fais deux declarations de ta variable c.

    unsigned char c;
    char c;

    Fais en une seule et tn programme devrait marcher. Soit tu mets
    unsigned char c

    ou soit

    char c

    mais pas les deux à la fois.

  5. #5
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par diogene Voir le message
    c est-il char ou unsigned char ?
    en fait la donnée est c sous forme de caractere et mon resultat sera c sous forme entier c'est pour cette raison que j'ai declarer c 2 fois!

  6. #6
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par ultimate_manx Voir le message
    Tu as fais deux declarations de ta variable c.

    unsigned char c;
    char c;

    Fais en une seule et tn programme devrait marcher. Soit tu mets
    unsigned char c

    ou soit

    char c

    mais pas les deux à la fois.
    j'ai essayé avec ta suggestion ;mais le code ascii de n'importe valeur tapée reste la meme et il m'affiche qu'il egale à 32

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 27
    Points : 23
    Points
    23
    Par défaut
    Essaye avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <stdio.h>
    int main(int argc, char** argv)
    {
        //Declaration de ta variable c
        int c;
     
        //Recuperation et affichage du résultat
        c = getchar();
        printf("La code de la touche %c frappee est: %d\n",c,c);
     
        //Ce getchar la ne sert qu'a faire une pause dans le programme
        getchar();
    }
    Ce bout de code fonctionne tres bien et devrait te donner le resultat que tu souhaites.

  8. #8
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Points : 263
    Points
    263
    Par défaut
    Bonsoir,

    En C déclarer en char ou int ne pose pas des problèmes de compilation, puisqu'en interne, le type char stocke la valeur ascii (en type entier) du caractère.

    mais tu ne peux pas déclarer une variables avec deux types différents.

  9. #9
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par nicolas.sitbon Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include<stdio.h>
     
    int main (void)
    {
       int c;
       printf("taper une touche");
       c=getchar();
       printf("le code ascii de %c est:%d\n",(char)c,c);
       return 0;
    }
    ça aussi n'a pas marché!

  10. #10
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    ça aussi n'a pas marché!
    c'est à dire?

  11. #11
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Le code qu’on vous a proposé marche bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include<stdio.h>
    void main ()
    {
    unsigned char c;
    //unsigned char c;
    printf("taper une touche");
    c=getchar();
    printf("le code ascii de %c est:%d",c,c);
    }
    je l’ai essayé sous Visual Studio Express 2005

  12. #12
    Membre averti Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Points : 345
    Points
    345
    Par défaut
    Ca compile peut être chez certain mais c'est :

    Tout à fait incorrect !!!

    on est plus le premier avril !

    Voilà un code correct (programmé en 2minutes sous linux kubuntu par moi meme à 3H54 [je suis crevé] )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void)
    {
    	char c[256];
    	int codeASC = 0;
    	fprintf(stdout, "Tapez une touche: ");
    	fgets(c, sizeof c, stdin);
    	/* Normalement on fait un fclean ici mais j'ai la flemme de re'ecrire la fonction */
    	codeASC = *c;
    	fprintf(stdout, "le code ascii de %s est: %d\n\n", c, codeASC);
    	return 0;
    }
    Bonne journée (pour moi : bonne nuit )

  13. #13
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 133
    Points : 169
    Points
    169
    Par défaut
    getchar() ne renvoie pas le prochain caractère entré, mais le prochain caractère dans le tampon de réception, certaines touches (comme par exemple les flèches) renvoient plus d'un caractère. Il fallait donc vider le tampon avant d'utiliser getchar().

  14. #14
    Membre averti Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Points : 345
    Points
    345
    Par défaut
    M'enfin, tout les codes sur cette page qui utilisent getchar sont de mauvais code. Je ne parle pas de getchar mais du reste.

    Moi je préfère utiliser fgets même si pour un seul caractère on devrait utiliser getchar();

    En gros, le demandeur du code, devrait utiliser mon code et remplacer quelque truc pour utiliser getchar puis vider le tempon.

  15. #15
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Salut
    On peut facilement remplacer void par int et mettre return 0; à la fin si on utilise code block ou devC++ ou même le compilateur gcc sous linux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include<stdio.h>
    int main ()
    {
            unsigned char c;
            printf("taper une touche");
            scanf("%c",&c);
            printf("le code ascii de %c est:%d",c,c);
            return 0;
    }
    c'est faisable en un rien de temps

  16. #16
    Membre averti Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Points : 345
    Points
    345
    Par défaut
    int main() n'est pas seulement fait pour c::b, devcpp ou gcc mais c'est la norme c'est tout On le fait partout !

  17. #17
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Citation Envoyé par _SamSoft_ Voir le message
    int main() n'est pas seulement fait pour c::b, devcpp ou gcc mais c'est la norme c'est tout On le fait partout !
    Non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Warning] function declaration isn't a prototype

    ça c'est la norme.

  18. #18
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Points : 263
    Points
    263
    Par défaut
    Citation Envoyé par _SamSoft_ Voir le message
    int main() n'est pas seulement fait pour c::b, devcpp ou gcc mais c'est la norme c'est tout On le fait partout !
    main que ce soit sans ou avec paramètres n'est pas une norme et c'est tout, c'est las première fonction appelé pour exécuter le programme, c'est la principale.

  19. #19
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Citation Envoyé par acacia Voir le message
    main que ce soit sans ou avec paramètres n'est pas une norme et c'est tout, c'est las première fonction appelé pour exécuter le programme, c'est la principale.
    1 The function called at program startup is named main. The implementation declares no
    prototype for this function. It shall be defined with a return type of int and with no
    parameters:
    int main(void) { /* ... */ }
    or with two parameters (referred to here as argc and argv, though any names may be
    used, as they are local to the function in which they are declared):
    int main(int argc, char *argv[]) { /* ... */ }
    or equivalent;9) or in some other implementation-defined manner.
    tu disais...

  20. #20
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par acacia Voir le message
    main que ce soit sans ou avec paramètres n'est pas une norme et c'est tout, c'est las première fonction appelé pour exécuter le programme, c'est la principale.
    En réalité, c'est faux (même si on peut dire que c'est vrai). Par exemple sous Unix, lors de l'édition des liens, on ajoute d'autres fonctions (notamment _start) qui est appelé avant (maintenant, dans la pratique, ça ne sert pas vraiment de savoir ça, je te l'accorde)

    On voit par exemple l'ensemble des symboles supplémentaire avec la commande nm -g.

    Alors, pour s'amuser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    gdb a.out
    GNU gdb 6.0
    Copyright 2003 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB.  Type "show warranty" for details.
    This GDB was configured as "sparc-sun-solaris2.9"...(no debugging symbols found)...
    (gdb) disassemble _start
    Dump of assembler code for function _start:
    0x000104c8 <_start+0>:  clr  %fp
    0x000104cc <_start+4>:  ld  [ %sp + 0x40 ], %l0
    0x000104d0 <_start+8>:  add  %sp, 0x44, %l1
    0x000104d4 <_start+12>: sub  %sp, 0x20, %sp
    0x000104d8 <_start+16>: tst  %g1
    0x000104dc <_start+20>: be  0x104ec <_start+36>
    0x000104e0 <_start+24>: mov  %g1, %o0
    0x000104e4 <_start+28>: call  0x207a8 <_PROCEDURE_LINKAGE_TABLE_+48>
    0x000104e8 <_start+32>: nop
    0x000104ec <_start+36>: sethi  %hi(0x10400), %o0
    0x000104f0 <_start+40>: or  %o0, 0x32c, %o0     ! 0x1072c <_fini>
    0x000104f4 <_start+44>: call  0x207a8 <_PROCEDURE_LINKAGE_TABLE_+48>
    0x000104f8 <_start+48>: nop
    0x000104fc <_start+52>: call  0x10710 <_init>
    0x00010500 <_start+56>: nop
    0x00010504 <_start+60>: mov  %l0, %o0
    0x00010508 <_start+64>: mov  %l1, %o1
    0x0001050c <_start+68>: sll  %l0, 2, %o2
    0x00010510 <_start+72>: add  %o2, 4, %o2
    0x00010514 <_start+76>: add  %l1, %o2, %o2
    0x00010518 <_start+80>: sethi  %hi(0x20800), %o3
    0x0001051c <_start+84>: or  %o3, 0x10c, %o3     ! 0x2090c <environ>
    0x00010520 <_start+88>: st  %o2, [ %o3 ]
    0x00010524 <_start+92>: call  0x1068c <main>
    0x00010528 <_start+96>: nop
    0x0001052c <_start+100>:        call  0x207b4 <_PROCEDURE_LINKAGE_TABLE_+60>
    0x00010530 <_start+104>:        nop
    0x00010534 <_start+108>:        call  0x207c0 <_PROCEDURE_LINKAGE_TABLE_+72>
    0x00010538 <_start+112>:        nop
    0x0001053c <_start+116>:        retl
    0x00010540 <_start+120>:        add  %o7, %l7, %l7
    End of assembler dump.
    (on voit le call main dans la fonction _start)

    Allez, pour le fun :
    Appel à truss :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    #truss -u a.out ./a.out
     
     
    execve("a.out", 0xFFBFF87C, 0xFFBFF884)  argc = 1
    open(".", O_RDONLY|O_LARGEFILE)                 = 3
    fstat64(3, 0xFFBFEF60)                          = 0
    close(3)                                        = 0
    open("./..", O_RDONLY|O_NDELAY|O_LARGEFILE)     = 3
    fstat64(3, 0xFFBFEF60)                          = 0
    getdents64(3, 0xFFBFC518, 8192)                 = 2496
    close(3)                                        = 0
    open("./../..", O_RDONLY|O_NDELAY|O_LARGEFILE)  = 3
    fstat64(3, 0xFFBFEF60)                          = 0
    getdents64(3, 0xFFBFC518, 8192)                 = 152
    close(3)                                        = 0
    open("./../../..", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3
    fstat64(3, 0xFFBFEF60)                          = 0
    open("/etc/mnttab", O_RDONLY|O_LARGEFILE)       = 4
    read(4, " /", 1)                                = 1
    ioctl(4, MNTIOC_NMNTS, 0xFFBFC4A0)              = 0
    fstat(4, 0xFFBFC418)                            = 0
    ioctl(4, MNTIOC_GETDEVLIST, 0xFFBFC1F0)         = 0
    read(4, " d e v / m d / d s k / d".., 3886)     = 3886
    close(4)                                        = 0
    lstat64("/a/server/s4", 0xFFBFC368)               = 0
    close(3)                                        = 0
    lstat64("/a/server/s4/i3/millie", 0xFF3F0440)    = 0
    resolvepath("/a/server/s4/i3/millie/a.out", "/a/server/s4/i3/millie/a.out", 1023) = 27
    resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
    stat("/a/server/s4/i3/millie/a.out", 0xFFBFF650) = 0
    open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
    stat("/opt/jumble/lib/libc.so.1", 0xFFBFF158)   Err#2 ENOENT
    stat("/opt/X11R6/lib/libc.so.1", 0xFFBFF158)    Err#2 ENOENT
    stat("/net/j/solaris/lib/libc.so.1", 0xFFBFF158) Err#2 ENOENT
    stat("/usr/openwin/lib/libc.so.1", 0xFFBFF158)  Err#2 ENOENT
    stat("/opt/X11R5/lib/libc.so.1", 0xFFBFF158)    Err#2 ENOENT
    stat("/opt/X11R6/lib/libc.so.1", 0xFFBFF158)    Err#2 ENOENT
    stat("/opt/local/lib/libc.so.1", 0xFFBFF158)    Err#2 ENOENT
    stat("/usr/lib/libc.so.1", 0xFFBFF158)          = 0
    resolvepath("/usr/lib/libc.so.1", "/usr/lib/libc.so.1", 1023) = 18
    open("/usr/lib/libc.so.1", O_RDONLY)            = 3
    mmap(0x00010000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 0xFF3A0000
    mmap(0x00010000, 802816, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF280000
    mmap(0xFF280000, 701788, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF280000
    mmap(0xFF33C000, 24664, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 704512) = 0xFF33C000
    munmap(0xFF32C000, 65536)                       = 0
    memcntl(0xFF280000, 117372, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
    close(3)                                        = 0
    stat("/opt/jumble/lib/libdl.so.1", 0xFFBFF158)  Err#2 ENOENT
    stat("/opt/X11R6/lib/libdl.so.1", 0xFFBFF158)   Err#2 ENOENT
    stat("/net/j/solaris/lib/libdl.so.1", 0xFFBFF158) Err#2 ENOENT
    stat("/usr/openwin/lib/libdl.so.1", 0xFFBFF158) Err#2 ENOENT
    stat("/opt/X11R5/lib/libdl.so.1", 0xFFBFF158)   Err#2 ENOENT
    stat("/opt/X11R6/lib/libdl.so.1", 0xFFBFF158)   Err#2 ENOENT
    stat("/opt/local/lib/libdl.so.1", 0xFFBFF158)   Err#2 ENOENT
    stat("/usr/lib/libdl.so.1", 0xFFBFF158)         = 0
    resolvepath("/usr/lib/libdl.so.1", "/usr/lib/libdl.so.1", 1023) = 19
    open("/usr/lib/libdl.so.1", O_RDONLY)           = 3
    mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A0000
    mmap(0x00002000, 8192, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF3FA000
    mmap(0xFF3FA000, 1894, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3FA000
    close(3)                                        = 0
    stat("/usr/platform/SUNW,Ultra-4/lib/libc_psr.so.1", 0xFFBFEF48) = 0
    resolvepath("/usr/platform/SUNW,Ultra-4/lib/libc_psr.so.1", "/usr/platform/sun4u/lib/libc_psr.so.1", 1023) = 37
    open("/usr/platform/SUNW,Ultra-4/lib/libc_psr.so.1", O_RDONLY) = 3
    mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3A0000
    mmap(0x00002000, 16384, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF3E6000
    mmap(0xFF3E6000, 13544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3E6000
    close(3)                                        = 0
    mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF390000
    munmap(0xFF3A0000, 8192)                        = 0
    getustack(0xFFBFF48C)
    getrlimit(RLIMIT_STACK, 0xFFBFF484)             = 0
    getcontext(0xFFBFF2C0)
    setustack(0xFF343A5C)
    -> _init(0x0, 0x0, 0x0, 0x0)
      -> frame_dummy(0x0, 0x0, 0x0, 0x0)
      <- frame_dummy() = 0x208f0
      -> __do_global_ctors_aux(0x208f0, 0x0, 0x0, 0x0)
      <- __do_global_ctors_aux() = 0x208f0
    <- _init() = 0
    -> main(0x1, 0xffbff87c, 0xffbff884, 0x20914)
    write(1, 0x00010750, 0)                         = 0
    <- main() = 0
    -> _fini(0x0, 0x9f4c4, 0x10480, 0xff28bab4)
      -> __do_global_dtors_aux(0x0, 0x0, 0x0, 0x0)
      <- __do_global_dtors_aux() = 0
    <- _fini() = 0
    _exit(0)
    On voit qu'il se passe beaucoup de chose avant l'appel à main

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/12/2009, 23h18
  2. Probleme lors de la compilation d'un programme
    Par ToMs dans le forum wxWidgets
    Réponses: 4
    Dernier message: 15/06/2006, 18h50
  3. Bip lors de l'execution d'un programme
    Par Lolita59 dans le forum C
    Réponses: 6
    Dernier message: 04/05/2006, 15h49
  4. Problème lors de l'exécution d'un exe
    Par mbibim63 dans le forum JBuilder
    Réponses: 1
    Dernier message: 04/01/2006, 13h13
  5. [ADO] Probleme lors de l'execution d'une requete...
    Par NoisetteProd dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/06/2004, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo