Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/11/2007, 15h44   #1
Invité régulier
 
Inscription : novembre 2007
Messages : 31
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : novembre 2007
Messages : 31
Points : 5
Points : 5
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
y.medium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2007, 15h55   #2
Membre actif
 
Inscription : juin 2003
Messages : 270
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 270
Points : 170
Points : 170
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 :
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 ?
__________________
www.callofduty5waw.fr
drinkmilk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2007, 16h55   #3
Membre chevronné
 
Inscription : mai 2004
Messages : 818
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 818
Points : 706
Points : 706
salut
fais un
which gcc

afin de savoir s'il est installé

a+
deny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2007, 11h10   #4
Membre émérite
 
Avatar de Celelibi
 
Inscription : janvier 2004
Messages : 990
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 990
Points : 822
Points : 822
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 :
dpkg-reconfigure locales
à exécuter en root ou via sudo.
__________________
Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.
Celelibi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2007, 18h45   #5
Invité régulier
 
Inscription : novembre 2007
Messages : 31
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : novembre 2007
Messages : 31
Points : 5
Points : 5
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
y.medium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2007, 22h00   #6
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 48
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 48
Points : 36
Points : 36
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
jenova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2007, 23h36   #7
Invité régulier
 
Inscription : novembre 2007
Messages : 31
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : novembre 2007
Messages : 31
Points : 5
Points : 5
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]
y.medium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2007, 11h06   #8
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 499
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 499
Points : 9 679
Points : 9 679
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.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2007, 23h53   #9
Invité régulier
 
Inscription : novembre 2007
Messages : 31
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : novembre 2007
Messages : 31
Points : 5
Points : 5
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.
y.medium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 10h00   #10
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 499
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 499
Points : 9 679
Points : 9 679
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.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2007, 00h15   #11
Invité régulier
 
Inscription : novembre 2007
Messages : 31
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : novembre 2007
Messages : 31
Points : 5
Points : 5
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...
y.medium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2007, 00h30   #12
Invité régulier
 
Inscription : novembre 2007
Messages : 31
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : novembre 2007
Messages : 31
Points : 5
Points : 5
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 :
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
y.medium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2007, 09h35   #13
Membre chevronné
 
Inscription : mai 2004
Messages : 818
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 818
Points : 706
Points : 706
salut
tu peux l'installer en faisant en console et en root

urpmi gcc

a condition que tes sources soient à jour via easyurpmi

a+
deny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2007, 10h22   #14
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 499
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 499
Points : 9 679
Points : 9 679
Bonjour,

Quelques remarques sur ton code :

main a deux prototypes :
Code :
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 :
    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 :
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 :
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,
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2007, 19h10   #15
Membre émérite
 
Avatar de Celelibi
 
Inscription : janvier 2004
Messages : 990
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 990
Points : 822
Points : 822
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.
__________________
Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.
Celelibi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2007, 00h13   #16
Invité régulier
 
Inscription : novembre 2007
Messages : 31
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : novembre 2007
Messages : 31
Points : 5
Points : 5
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.



y.medium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2007, 12h48   #17
Membre émérite
 
Avatar de Celelibi
 
Inscription : janvier 2004
Messages : 990
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 990
Points : 822
Points : 822
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é.
__________________
Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.
Celelibi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2007, 16h15   #18
Invité régulier
 
Inscription : novembre 2007
Messages : 31
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : novembre 2007
Messages : 31
Points : 5
Points : 5
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
y.medium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2007, 10h53   #19
Membre émérite
 
Avatar de Pouic
 
Inscription : octobre 2004
Messages : 668
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2004
Messages : 668
Points : 904
Points : 904
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 ' // ' ):
Citation:
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 ' /* */ ' ):
Citation:
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 :
Citation:
| |
|** **|
|**** © 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

Citation:
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.
__________________
Software becomes slower faster than hardware becomes faster

http://xrenault.developpez.com
API C standard (C ANSI )
Pouic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 20h54   #20
Invité régulier
 
Inscription : novembre 2007
Messages : 31
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : novembre 2007
Messages : 31
Points : 5
Points : 5
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 ..
y.medium est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h54.


 
 
 
 
Partenaires

Hébergement Web