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

Applications et environnements graphiques Discussion :

gcc sous linux


Sujet :

Applications et environnements graphiques

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    31
    Points
    18
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Novembre 2007
    Messages : 31
    Points : 18
    Par défaut gcc sous linux
    salut..

    svp j'ai un petit pobleme... est ce que le gcc (logitiel de compliation) se trouve ds le LINUX ou bien je doit je téléchargé puis l'instalé ... parcque jai tout cherché don mon PC c-a-d le système Linux et les programme instalé avec et j'ai rien trouvé!!!!

    J'ai une autre question: le code ASCII sur mon PC et basé sur 7 bits comment faire pour qu'il soit codé sur 8bits???????

    Merci d'avance... et Bon courage pour cet excelant Forum

  2. #2
    Membre actif
    Inscrit en
    Juin 2003
    Messages
    270
    Points
    216
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 270
    Points : 216
    Par défaut
    salut,

    si gcc est installe ou pas par defaut, ca depend de la distribution que tu utilises. Mais dans la plupart, ce n'est pas le cas, et il faut donc que tu l'installes. La plupart des distrib propose des paquets "tout prets" pour les differentes applis, donc l'installation est tres simple.

    ex pour debian et derivees:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo apt-get install gcc
    pour l'ascii, tous les caracteres sont codes sur 7 bits, et le 8eme est mis a 0. Tu n'as pas ce 8eme bit a 0 ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Points
    795
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Points : 795
    Par défaut
    salut
    fais un
    which gcc

    afin de savoir s'il est installé

    a+

  4. #4
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Points
    1 122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Par défaut
    Pour ce qui est du code ascii sur 7bits au lieu de 8, je pense que ce que tu voulais dire c'est que ton charset par défaut est l'UTF-8 et non l'ISO-8859-1 (ou le contraire).

    1) Ce n'est pas dérangeant d'utiliser l'un ou l'autre des charset
    2) Il est recommandé d'utiliser l'UTF-8
    3) Pour changer le charset par défaut, il faut reconfigurer les locales, sous debian (et debian-like) ça se fait avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dpkg-reconfigure locales
    à exécuter en root ou via sudo.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    31
    Points
    18
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Novembre 2007
    Messages : 31
    Points : 18
    Par défaut je veu travailler sur 8bits !!! Cé tt
    enfait je crois j'ai pa bien expliqué le problem....

    Ma question cé comment faire pour que je travaille sur les 8 bits ds le code ASCII... Qu est ce que je doit mofdifer ds mon pc ou ds mon Systeme d'exlpoitation... ou je vai croché ou décroché les cases?????????

    Voila ... Merci comm meme

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    48
    Points
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 48
    Points : 45
    Par défaut
    Aie l'orthographe.
    De quel code ASCII parles-tu ? Si tu n'expose pas bien ton problème nous ne pouvons pas le résoudre.
    Sinon, le charset codé sur 8 bits c'est l'UTF-8 alors comme l'a dit Celelibi tu fais un dpkg-reconfigure locales et tu choisis UTF-8 Oo

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    31
    Points
    18
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Novembre 2007
    Messages : 31
    Points : 18
    Par défaut voila koi
    Citation Envoyé par jenova Voir le message
    Aie l'orthographe.
    De quel code ASCII parles-tu ? Si tu n'expose pas bien ton problème nouon ne peut pas le résoudre.
    Sinon, le charset codé sur 8 bits c'est l'UTF-8 alors comme l'a dit Celelibi tu fais un dpkg-reconfigure locales et tu choisis UTF-8 Oo
    le problème cé comment faire un dpkg-reconfigure locales ... enfait qu'est ce que ca veu dire [dpkg-reconfigure locales]

  8. #8
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Points
    28 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 134
    Par défaut
    Bonjour,

    Tu demandes deux choses : est-ce que tu as gcc sur ta machine, et commetn apsser ton système en 8-bits.
    1. pour gcc, la réponse t'a été donnée : exécuter la commande
      dans un terminal te dira si oui ou non il est installé. S'il ne l'est pas, il faudrait que tu nous donne la version de Linux que tu utilises afin que nous puissions t'indiquer comment l'installer si tu le souhaites.
    2. A propos de ton problème de 7 ou 8 bits :
      • Comment sais-tu que ton système est en 7-bits ?
      • Pourquoi veux-tu le passer en 8-bits ?
      • Qu'est-ce que tu attends de ces changements.

  9. #9
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    31
    Points
    18
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Novembre 2007
    Messages : 31
    Points : 18
    Par défaut D'accord.......
    -Ok pour le premier problème... je vai essyé cette comande...

    -Pour le desième problème voila pk je cherche a codé mon système sur 8bits:

    je suis entrain de faire un petit programme qui converti une chaine de caratère c a d un message txt .. le convertir en binaire ...alors je dois tt dabord avoirs le code ASCII de chaque caractère... le code ASCII sur 7 bits me donne des entiers négatif alors moi je cherche a codé le ASCII sur 8 bit comme sa le 'é' ----- donne en code ASCII----> 130 a la place de -126 en 7bits... Voila et merciiiiiiii beaucoup..

    A:\Medium.

  10. #10
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Points
    28 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 134
    Par défaut
    Citation Envoyé par y.medium Voir le message
    -
    -Pour le deuxièmes problème voila pk je cherche a codé mon système sur 8bits:

    je suis entrain de faire un petit programme qui converti une chaîne de caractère c a d un message txt .. le convertir en binaire ...alors je dois tout d'abord avoir le code ASCII de chaque caractère... le code ASCII sur 7 bits me donne des entiers négatif alors moi je cherche a codé le ASCII sur 8 bit comme sa le 'é' ----- donne en code ASCII----> 130 a la place de -126 en 7bits... Voila et merci beaucoup..

    A:\Medium.
    A priori, je dirai que tu programmes en C, qui est un langage que tu as découvert récemment.....

    Je ne sais pas exactement quel est ton code, mais je sais:
    • qu'il est faux,
    • qu'il n'est pas portable,
    • que ta machine n'est pas en 7bits,
    • que tu devrais aller faire une rechercher sur le forum C pour trouver des posts dans lesquels il sera question d'afficher le code ASCII des caractères.

  11. #11
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    31
    Points
    18
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Novembre 2007
    Messages : 31
    Points : 18
    Par défaut je n'ai pas le gcc...
    salut ...
    voila j'ai esseyé avec la commande wich gcc il ma rien donné ... je doit instaler alors ce prog... Ma version est la suivante: Mandriva 2008

    Merci...

  12. #12
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    31
    Points
    18
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Novembre 2007
    Messages : 31
    Points : 18
    Par défaut Re
    gangsoliel.. voila le prog que j'ai fait ... Execute le et montre moi l'erreur Merci d'avantage....
    Citation Envoyé par gangsoleil Voir le message
    A priori, je dirai que tu programmes en C, qui est un langage que tu as découvert récemment.....

    Je ne sais pas exactement quel est ton code, mais je sais:
    • qu'il est faux,
    • qu'il n'est pas portable,
    • que ta machine n'est pas en 7bits,
    • que tu devrais aller faire une rechercher sur le forum C pour trouver des posts dans lesquels il sera question d'afficher le code ASCII des caractères.C-a-d quoi?
    voila Mon propre Travail:
    NB: Ceci est un OpenSource LoL.. Gratuit ...
    Utilisé le PA grave... Mais essyant de l'améliorer... d'accord?! BIEN

    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
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
     
     
    // -------------------------------------------------Bibliothèques utilisées----------------------
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    // -------------------------------------------------Bibliothèques utilisées----------------------
     
     
     
    // -----------------------------------------------Mes Structures des données---------------------
    struct codbin{
    	unsigned taille;
    	int a;
    	int *p;
    };
    typedef struct codbin Tcode;
     
    struct maillon{
    	char c;
    	Tcode *e;
    	struct maillon *psuivant;
    };
    typedef struct maillon Tmaillon;
     
    struct file{
    	Tmaillon *pt;
    	Tmaillon *pq;
    };
    typedef struct file Tfile;
    // -----------------------------------------------Mes Structures des données---------------------
     
     
     
    //-----------------------------------------------------Mes Fonctions-----------------------------
    void inverse(int *p, unsigned taille)
    {
    	unsigned i,j;
    	int aide;
    	for(i=0,j=taille-1;i<j;i++,j--)
    	{	
    		aide=*(p+i);
    		*(p+i)=*(p+j);
    		*(p+j)=aide;
    	}
    	return ;
    }
     
     
     
     
    void copier(int *p,int *m,unsigned taille)
    {
    	unsigned i;
    	for(i=0;i<taille;i++)
    	*(p+i)=*(m+i);
    	return ;
    }
     
     
    void affichtab(int *p, unsigned taille)
    {
    	unsigned i;
    	for(i=0;i<taille;i++)
    	printf("%d",*(p+i));
    	return ;
    }
     
     
     
    Tmaillon *binaire(int a,char c)
    {
    	Tmaillon *m=malloc(sizeof(Tmaillon));
    	int x;
    	int *tmp=malloc(sizeof(int));
    	unsigned i;
    	Tcode *e=malloc(sizeof(Tcode));
    	if(tmp!=NULL)
    	{
    	x=a;
    	i=0;
    	if(x==0)
    	{
    		*(tmp+i)=0;
    		i++;
    	}
     
    	do
    	{
     
    		*(tmp+i)=x%2;
    		x/=2;
    		i++;
    	}while(x);
    	m->c=c;
    	m->psuivant=NULL;
    	m->e=malloc(sizeof(Tcode));
    	m->e->taille=i;
    	m->e->a=a;
    	m->e->p=malloc(i*sizeof(int));
    	copier(m->e->p,tmp,i);
    	inverse(m->e->p,i);
    	}
    	return m;
    }
     
    Tfile *creefile()
    {
    	Tfile *f=malloc(sizeof(Tfile));
    	f->pt=NULL;
    	f->pq=NULL;
    	return f;
    }
     
    void enfiler(Tfile *f, Tmaillon *m)
    {
    	if(f->pq!=NULL)
    	{
    		f->pq->psuivant=m;
    		f->pq=m;
    	}
    	else
    	{
    		f->pq=m;
    		f->pt=m;
    	}
    	return ;
    }
     
    void affichsuit(Tfile *f)
    {
    	Tmaillon *m;
    	m=f->pt;
    	if(m==NULL)
    		printf("\n\tErreur:Vous avez rien en stock. Votre file est vide!\n\t------\n");
    	while(m!=NULL)
    	{
    	affichtab(m->e->p,m->e->taille);
    	m=m->psuivant;
    	}
    	return ;
    }
     
     
    //-----------------------------------------------------Mes Fonctions-----------------------------
     
     
     
    //---------------------------------------------------------main----------------------------------
    main()
    {
    int *tmp=malloc(sizeof(int));
    unsigned i,taille;
    char *ch=malloc(sizeof(char));
    int a;
    Tmaillon *m,*aide;
    Tfile *f;
    //--------------------------------------------------------main-----------------------------------
     
     
     
     
     
     
     
     
     
    //----------------------------------------------------Mon Programme------------------------------
    f=creefile();
    printf("\t|                                                         |\n");
    printf("\t|**                                                     **|\n");
    printf("\t|****     © Mohamed-Assoukti  y.medium@gmail.com      ****|\n");
    printf("\t|******                    SMI3                     ******|\n");
    printf("\t|********      Encadrant: Monsieur ASSIMI        *********|\n");
    printf("\t|*********************************************************|\n");
    printf("\t|*********************************************************|\n");
    printf("\n\nEntrez votre texte que vous voulez convertir en binaire:\n-------------------------------------------------------\n\n   ");
    gets(ch);
    for(i=0;i<strlen(ch);i++)
    	*(tmp+i)=*(ch+i);
    taille=i;
    printf("\n\n\nVoila donc la representation binaire de votre message texte:\n-------------------------------------------------------\n\n");
    for(i=0;i<taille;i++)
    {
    	a=*(tmp+i);
    	m=binaire(a,*(ch+i));
    	enfiler(f,m);
    }
    printf("\n\n\n\t  [");
    affichsuit(f);
     
    printf("]\n\n\n*****-----------------------------------------------------------------------------------\n");
    printf("****\n***\n**\n* -Pour mieux comprendre la suite bianire, j'ai introduit ce tableau de coresspondance:\n**\n***\n****\n");
    printf("*****-----------------------------------------------------------------------------------\n\n\n\n");
    printf("\t\tCaractere\tCode ASCII\tEn bianaire\n\n");
    aide=f->pt;
    for(i=0;i<strlen(ch);i++)
    {
    	printf("\t\t  |%c|-------------|%d|-----------|",*(ch+i),*(ch+i));
    	affichtab(aide->e->p,aide->e->taille);
    	aide=aide->psuivant;
    	printf("|\n");
    }
     
    printf("\n\n\n\t\t");
    }
    //----------------------------------------------------Mon Programme------------------------------


    A:\MEDIUM

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    817
    Points
    795
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 817
    Points : 795
    Par défaut
    salut
    tu peux l'installer en faisant en console et en root

    urpmi gcc

    a condition que tes sources soient à jour via easyurpmi

    a+

  14. #14
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Points
    28 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 134
    Par défaut
    Bonjour,

    Quelques remarques sur ton code :

    main a deux prototypes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int main (void)
    int main (int argc, char ** argv)
    Il est donc obligatoire d'utiliser l'un de ces deux là, et pas main().

    Ensuite, est-ce que tu sais ce que tu fais lorsque tu écris ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        int *tmp=malloc(sizeof(int));
    A priori, je dirai que non : tu ne testes jamais le code de retour de tes allocations. En cas d'erreur, ton programme risque de crasher (au mieux). C'est d'ailleurs ce qui arrive (voir plus bas).

    Ensuite, tu as le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
        char *ch=malloc(sizeof(char));
     
        gets(ch);
        for(i=0;i<strlen(ch);i++)
    	*(tmp+i)=*(ch+i);
    sizeof (char) vaut 1. Toujours. Donc ici tu alloues toujours 1 unique caractère. Ensuite, tu utilises gets, ce qui est déconseillé.
    La conséquence de ta mauvaise allocation est que si l'utilisateur saisit plus de 1 caractère, alors ta saisie va provoquer un comportement indéfini, qui risque probablement de conduire crash du programme.

    Voici un exemple d'exécution (j'ai supprimé l'affichage du début, mais c'est tout) :
    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
     
    > ./a.out
     
            |*********************************************************|
            |*********************************************************|
     
     
    Entrez votre texte que vous voulez convertir en binaire:
    -------------------------------------------------------
     
       245
     
     
     
    Voila donc la representation binaire de votre message texte:
    -------------------------------------------------------
     
    Bus Error (core dumped)
    Comme je diais, ton code est faux. Ce n'est pas grave, ça se corrige. Je te conseil de te plonger à nouveau dans des cours de C : tu en trouveras par exemple ici :


    Si tu as des questions, n'hésites pas à les poster, par exemple sur le forum C.

    Cordialement,

  15. #15
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Points
    1 122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Par défaut
    Citation Envoyé par y.medium Voir le message
    je suis entrain de faire un petit programme qui converti une chaine de caratère c a d un message txt .. le convertir en binaire ...alors je dois tt dabord avoirs le code ASCII de chaque caractère... le code ASCII sur 7 bits me donne des entiers négatif alors moi je cherche a codé le ASCII sur 8 bit comme sa le 'é' ----- donne en code ASCII----> 130 a la place de -126 en 7bits... Voila et merciiiiiiii beaucoup..
    Ce n'est pas parce que tu as des valeurs entre -128 et 127 que celle-ci est codée sur 7 bits. Au contraire, si tu as 256 valeurs possibles différentes, il y a bien 8 bits.

    De plus, se lancer dans ce genre de code sans au préalable savoir ce qu'est un charset me semble hasardeux.

  16. #16
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    31
    Points
    18
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Novembre 2007
    Messages : 31
    Points : 18
    Par défaut MERCIIIIIIIIIIIII
    j'ai résoulu mon prob ....

    gangsoliel... demain je vai vous expliquerai tt mon prog et vous allez voir que j'ai pa comi d'erreur au niveau code .... j'ai executé mon programme avec 245... et il ma donné une chaine de caractère.... je voi pa comment tu as eu ce probleme toi ...
    de tout façon merci pour vous tous...

    A:\Medium.




  17. #17
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Points
    1 122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Par défaut
    C'est simple, quand tu utilise gets ton programme est buggé. Et ce, dans 100% des cas et tu n'échappe pas à la règle.

    Essaye donc de mettre une chaîne de 100 caractères (même 30 devraient suffire).
    Ta gestion de liste est foireuse aussi, essaye juste "ABCDE".
    Tu as plein de malloc, et pas un seul free, donc tu as des jolies memory leak.

    Sinon, il manque aussi un return dans ton main. Tu ne le sais peut-être pas, mais quand on omet le type de retour d'une fonction, int est assumé.


    Dernière chose : pourquoi utiliser les listes chainées pour un problème aussi simple ? Était-ce le but de l'exercice ?
    Personnellement, j'ai refait ton programme (sans l'affichage décoratif), il tient en 45 lignes.






    Tu sais, ce qui est bien avec le C, c'est que c'est pas parce que ton programme marche qu'il n'est pas buggé.

  18. #18
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    31
    Points
    18
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Novembre 2007
    Messages : 31
    Points : 18
    Par défaut voila alors ma réponse....
    de tout façon merci pour vous tous ... voila ma réponse en image et vous allez voir que le prog marche bien.....
    veuillez voir l'image suivante (Oublier pa de l'agrandir comme ca vous allez voir en calire l'exection):

    http://www4.0zz0.com/2007/11/18/15/96296792.jpg

    j'espère que j'ai réussi a bien expliqué mon sujet ...

    NB: ICI je travail en C sur Windows et pas sur Linux.

    A:\MEDIUM

  19. #19
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Points
    977
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Par défaut
    Citation Envoyé par y.medium Voir le message
    gangsoliel.. voila le prog que j'ai fait ... Execute le et montre moi l'erreur Merci d'avantage....
    voila Mon propre Travail:
    Voilà ce qui arrive quand on utilise des caractères accentués dans des commentaires sur *une seule* ligne (de type ' // ' ):
    tt.c:2: error: parse error before '/' token
    tt.c:2: error: stray '\232' in program
    tt.c:2: error: stray '\233' in program
    tt.c:6: error: parse error before '/' token
    tt.c:6: error: stray '\232' in program
    tt.c:6: error: stray '\233' in program
    tt.c:10: error: stray '\233' in program
    tt.c:15: error: parse error before '}' token
    tt.c:15: warning: ISO C does not allow extra `;' outside of a function
    tt.c:30: error: parse error before '/' token
    tt.c:30: error: stray '\233' in program
    tt.c:39: error: parse error before "for"
    tt.c:42: error: parse error before '+' token
    tt.c:43: error: parse error before '+' token
    tt.c: In function `binaire':
    tt.c:76: error: invalid application of `sizeof' to incomplete type `tt.c'
    tt.c:96: error: invalid application of `sizeof' to incomplete type `tt.c'
    tt.c:97: error: dereferencing pointer to incomplete type
    tt.c:98: error: dereferencing pointer to incomplete type
    tt.c:99: error: dereferencing pointer to incomplete type
    tt.c:100: error: dereferencing pointer to incomplete type
    tt.c:101: warning: implicit declaration of function `inverse'
    tt.c:101: error: dereferencing pointer to incomplete type
    tt.c:76: warning: unused variable `e'
    tt.c: In function `affichsuit':
    tt.c:137: error: dereferencing pointer to incomplete type
    tt.c:137: error: dereferencing pointer to incomplete type
    tt.c: At top level:
    tt.c:144: error: parse error before '/' token
    tt.c:153: error: initializer element is not constant
    tt.c:155: error: conflicting types for 'aide'
    tt.c:38: error: previous declaration of 'aide' was here
    tt.c:157: error: parse error before '/' token
    tt.c:169: error: parse error before string constant
    tt.c:169: warning: type defaults to `int' in declaration of `printf'
    tt.c:169: error: conflicting types for 'printf'
    tt.c:169: note: a parameter list with an ellipsis can't match an empty parameter name list declaration
    tt.c:169: error: conflicting types for 'printf'
    tt.c:169: note: a parameter list with an ellipsis can't match an empty parameter name list declaration
    tt.c:169: error: ISO C forbids data definition with no type or storage class
    tt.c:170: error: parse error before string constant
    tt.c:170: warning: type defaults to `int' in declaration of `printf'
    tt.c:170: error: ISO C forbids data definition with no type or storage class
    tt.c:171: error: parse error before string constant
    tt.c:171: warning: type defaults to `int' in declaration of `printf'
    tt.c:171: error: ISO C forbids data definition with no type or storage class
    tt.c:172: error: parse error before string constant
    tt.c:172: warning: type defaults to `int' in declaration of `printf'
    tt.c:172: error: ISO C forbids data definition with no type or storage class
    tt.c:173: error: parse error before string constant
    tt.c:173: warning: type defaults to `int' in declaration of `printf'
    tt.c:173: error: ISO C forbids data definition with no type or storage class
    tt.c:174: error: parse error before string constant
    tt.c:174: warning: type defaults to `int' in declaration of `printf'
    tt.c:174: error: ISO C forbids data definition with no type or storage class
    tt.c:175: error: parse error before string constant
    tt.c:175: warning: type defaults to `int' in declaration of `printf'
    tt.c:175: error: ISO C forbids data definition with no type or storage class
    tt.c:176: error: parse error before string constant
    tt.c:176: warning: type defaults to `int' in declaration of `printf'
    tt.c:176: error: ISO C forbids data definition with no type or storage class
    tt.c:177: warning: type defaults to `int' in declaration of `gets'
    tt.c:177: warning: parameter names (without types) in function declaration
    tt.c:177: error: conflicting types for 'gets'
    /usr/include/stdio.h:271: error: previous declaration of 'gets' was here
    tt.c:177: error: conflicting types for 'gets'
    /usr/include/stdio.h:271: error: previous declaration of 'gets' was here
    tt.c:177: error: ISO C forbids data definition with no type or storage class
    tt.c:178: error: parse error before "for"
    tt.c:180: warning: type defaults to `int' in declaration of `taille'
    tt.c:180: error: conflicting types for 'taille'
    tt.c:152: error: previous declaration of 'taille' was here
    tt.c:180: error: initializer element is not constant
    tt.c:180: error: ISO C forbids data definition with no type or storage class
    tt.c:181: error: parse error before string constant
    tt.c:181: warning: type defaults to `int' in declaration of `printf'
    tt.c:181: error: ISO C forbids data definition with no type or storage class
    tt.c:185: warning: type defaults to `int' in declaration of `m'
    tt.c:185: error: conflicting types for 'm'
    tt.c:155: error: previous declaration of 'm' was here
    tt.c:185: warning: initialization makes integer from pointer without a cast
    tt.c:185: error: initializer element is not constant
    tt.c:185: error: ISO C forbids data definition with no type or storage class
    tt.c:186: warning: type defaults to `int' in declaration of `enfiler'
    tt.c:186: warning: parameter names (without types) in function declaration
    tt.c:186: error: conflicting types for 'enfiler'
    tt.c:115: error: previous definition of 'enfiler' was here
    tt.c:186: error: ISO C forbids data definition with no type or storage class
    tt.c:187: error: parse error before '}' token
    tt.c:188: error: parse error before string constant
    tt.c:188: warning: type defaults to `int' in declaration of `printf'
    tt.c:188: error: ISO C forbids data definition with no type or storage class
    tt.c:189: warning: type defaults to `int' in declaration of `affichsuit'
    tt.c:189: warning: parameter names (without types) in function declaration
    tt.c:189: error: conflicting types for 'affichsuit'
    tt.c:130: error: previous definition of 'affichsuit' was here
    tt.c:189: error: ISO C forbids data definition with no type or storage class
    tt.c:191: error: parse error before string constant
    tt.c:191: warning: type defaults to `int' in declaration of `printf'
    tt.c:191: error: ISO C forbids data definition with no type or storage class
    tt.c:192: error: parse error before string constant
    tt.c:192: warning: type defaults to `int' in declaration of `printf'
    tt.c:192: error: ISO C forbids data definition with no type or storage class
    tt.c:193: error: parse error before string constant
    tt.c:193: warning: type defaults to `int' in declaration of `printf'
    tt.c:193: error: ISO C forbids data definition with no type or storage class
    tt.c:194: error: parse error before string constant
    tt.c:194: warning: type defaults to `int' in declaration of `printf'
    tt.c:194: error: ISO C forbids data definition with no type or storage class
    tt.c:195: warning: type defaults to `int' in declaration of `aide'
    tt.c:195: error: conflicting types for 'aide'
    tt.c:155: error: previous declaration of 'aide' was here
    tt.c:195: error: conflicting types for 'aide'
    tt.c:155: error: previous declaration of 'aide' was here
    tt.c:195: warning: initialization makes integer from pointer without a cast
    tt.c:195: error: initializer element is not constant
    tt.c:195: error: ISO C forbids data definition with no type or storage class
    tt.c:196: error: parse error before "for"
    tt.c:199: error: parse error before '->' token
    tt.c:199: warning: type defaults to `int' in declaration of `affichtab'
    tt.c:199: error: conflicting types for 'affichtab'
    tt.c:61: error: previous definition of 'affichtab' was here
    tt.c:199: error: ISO C forbids data definition with no type or storage class
    tt.c:200: warning: type defaults to `int' in declaration of `aide'
    tt.c:200: error: redefinition of 'aide'
    tt.c:195: error: previous definition of 'aide' was here
    tt.c:200: error: conflicting types for 'aide'
    tt.c:155: error: previous declaration of 'aide' was here
    tt.c:200: error: invalid type argument of `->'
    tt.c:200: error: ISO C forbids data definition with no type or storage class
    tt.c:201: error: parse error before string constant
    tt.c:201: warning: type defaults to `int' in declaration of `printf'
    tt.c:201: error: ISO C forbids data definition with no type or storage class
    tt.c:204: error: parse error before string constant
    tt.c:204: warning: type defaults to `int' in declaration of `printf'
    tt.c:204: error: ISO C forbids data definition with no type or storage class
    Voilà ce qui se passe si je corrige la forme des commentaires (forme multi-ligne ' /* */ ' ):
    tt.c: In function `binaire':
    tt.c:76: warning: unused variable `e'
    tt.c: At top level:
    tt.c:150: warning: return type defaults to `int'
    tt.c: In function `main':
    tt.c:205: warning: control reaches end of non-void function
    Sachant que tu fais des malloc pour la variable `e' dans ta fonction `binaire'... On se demande à quoi tu pensais en écrivant ton code.

    Voilà ensuite ce qui arrive à l'exécution :
    | |
    |** **|
    |**** © Mohamed-Assoukti y.medium@gmail.com ****|
    |****** SMI3 ******|
    |******** Encadrant: Monsieur ASSIMI *********|
    |*********************************************************|
    |*********************************************************|


    Entrez votre texte que vous voulez convertir en binaire:
    -------------------------------------------------------

    warning: this program uses gets(), which is unsafe.
    paziepoaizepaoizepoazi



    Voila donc la representation binaire de votre message texte:
    -------------------------------------------------------

    Segmentation fault
    Ton code est horrible. Tu ne connais pas les fonctions standards de conversion ? De saisie ? De copies ? T'arrive-t-il de tester un retour de fonction ?

    En conséquence :
    - ton code est faux, mal foutu, inutilement compliqué, bourré d'erreurs
    - il n'est pas portable,
    - ta machine n'est pas en 7bits

    NB: Ceci est un OpenSource LoL.. Gratuit ...
    Utilisé le PA grave... Mais essyant de l'améliorer... d'accord?! BIEN
    Réutiliser un tel code ? Plutôt me couper les mains.
    L'améliorer ? Mais il faut tout ré-écrire...

    Si tu veux une aide (j'insiste sur le mot, on ne fera pas le travail à ta place), viens sur le forum C.
    Cependant, mets-toi dans la tête que le C n'est pas magique, que c'est un outil puissant mais difficile et compliqué à maîtriser. Ce n'est pas en programmant au hasard que tu acquièreras des bases solides.

  20. #20
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    31
    Points
    18
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Novembre 2007
    Messages : 31
    Points : 18
    Par défaut !!!
    Absurde!!!!
    je voi pa pourquoi vous avez tout ces erreurs.... ...
    de tt façon j'ai dejé présenté mon sujet a mon encadrant ....
    voila ... je vous remerci de tt façon ..

Discussions similaires

  1. DLL en gcc sous Linux
    Par devroot dans le forum C++
    Réponses: 15
    Dernier message: 25/06/2011, 20h06
  2. Problème JNI et gcc sous Linux
    Par undercrash dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 31/01/2010, 15h34
  3. Réponses: 13
    Dernier message: 15/02/2009, 20h37
  4. Réponses: 7
    Dernier message: 17/06/2008, 14h37
  5. [débutant]compiler avec gcc sous linux
    Par Ickou dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 10/03/2006, 18h27

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