Salut,
Je cherche un ng pour programmation, de preference en C. Pas
francom.programmation car y a personne la bas... Je poste ici en
esperant qu'une ame charitable pourra m'eclairer car j'hallucine la!!!
Je suis sous Debian Sid. J'ai gcc3.3.2 et gcc2.95. J'ai fait un
programme de plus court chemin. lorsque je lance le programme, il me
fait un segfaut lorsque j'appelle une fonction precise. Donc j'essaie de
debugger sous gdb, et la mystere, ca marche nickel! Aucun segfaut!! J'ai
gdb5.3. Une idee de ou ca peut venir? Des outils pour savoir pourquoi ca
marche sous gdb et pas normalement? J'ai compiler avec lefence, ca n'a
rien donné.
Voici un bout du code :
Lorsque je vais dans choisir_exemple(), ca me renvois juste une slist
qui contient un tableau des preds.
int main()
{
char rep;
t_slist *l;
t_mat **mat = NULL;
int bool;
l = my_slist_alloc();
l = NULL;
bool = 0;
GRAPH_CREATE = 0;
do
{
system("clear");
printf("***********************************************\n");
printf(" Algorithme de Plus Court Chemin\n");
printf("***********************************************\n");
printf("Choisir Action \n");
printf("1 : Donner le graphe\n");
printf("2 : Ajouter une clef\n");
printf("3 : Supprimer une clef\n");
printf("4 : Modifier une clef\n");
printf("5 : Afficher le graphe en entree\n");
printf("6 : Les listes de successeurs\n");
printf("7 : Afficher le PCC pour chaque sommet\n");
printf("8 : Choisir un exemple\n");
printf("9 : Sortir\n");
printf("Rep: ");
scanf("%c", &rep);
switch (rep)
{
case '1':
l = create_graph(); //me creer un graphe de type slist
break ;
case '2':
l = add_key(l);
break ;
case '3':
l = delete_key(l);
break ;
case '4':
l = modif_key(l);
case '5':
//si je passe par create_graph, cette fonction marche nickel
//sous gdb comme lancer normalement.
//si je passe par choisir_exemple(), elle m'affiche n'importe quoi
//mais si j'execute l'exe a partir de gdb, dans ce cas, la elle marche
//bien et m'affiche bien mon graphe!!!
affiche_slist(l);
break ;
case '6':
mat = graph2mat(l);
afficher_mat(mat);
bool = 1;
break ;
case '7':
if (bool)
moore(mat);
break ;
case '8':
//contient des exemples de differents types de graphes
//graphe sans circuit, graphe avec circuit etc...
l = choisir_exemple();
//truc encore tres bizarre, si je mets directement //affiche_slist(l)
ici, ba ca marche! lancer normalement (sans gdb)
break ;
}
}
while (rep != '9');
my_slist_free(l);
return 0;
}
--
Pascal
Je ne vois pas le fu2 dans tes entêtes... Ceci dit, il faut faire attention : fclc est un groupe _sur_ le langage lui-même (ses notions, mot-clefs, etc...) et non sur la programmation avec ce langage. Si on veut poser des questions sur "comment faire tel ou tel truc" n'ayant que peu ou prou de rapport avec l'algorithmique et le langage C _intrinsèquement_ alors il vaut mieux se référer à un groupe sur l'OS concerné --- se référer à la charte de fclc.
Thomas --
En général je bosse sous X. Encore un thread qui va accoucher d'un troll.
Je ne vois pas le fu2 dans tes entêtes...
Ceci dit, il faut faire attention : fclc est un groupe _sur_ le
langage lui-même (ses notions, mot-clefs, etc...) et non sur la
programmation avec ce langage. Si on veut poser des questions sur
"comment faire tel ou tel truc" n'ayant que peu ou prou de rapport
avec l'algorithmique et le langage C _intrinsèquement_ alors il
vaut mieux se référer à un groupe sur l'OS concerné --- se référer
à la charte de fclc.
Thomas
--
En général je bosse sous X.
Encore un thread qui va accoucher d'un troll.
Je ne vois pas le fu2 dans tes entêtes... Ceci dit, il faut faire attention : fclc est un groupe _sur_ le langage lui-même (ses notions, mot-clefs, etc...) et non sur la programmation avec ce langage. Si on veut poser des questions sur "comment faire tel ou tel truc" n'ayant que peu ou prou de rapport avec l'algorithmique et le langage C _intrinsèquement_ alors il vaut mieux se référer à un groupe sur l'OS concerné --- se référer à la charte de fclc.
Thomas --
En général je bosse sous X. Encore un thread qui va accoucher d'un troll.
Oui, mais d'un troll accouché sous X.
-+- YR in GFA : Troll à adopter et à consoler -+-
shal
Pascal wrote:
Salut,
Salut
Je cherche un ng pour programmation, de preference en C. Pas francom.programmation car y a personne la bas... Je poste ici en esperant qu'une ame charitable pourra m'eclairer car j'hallucine la!!!
Je suis sous Debian Sid. J'ai gcc3.3.2 et gcc2.95. J'ai fait un programme de plus court chemin. lorsque je lance le programme, il me fait un segfaut lorsque j'appelle une fonction precise. Donc j'essaie de debugger sous gdb, et la mystere, ca marche nickel! Aucun segfaut!! J'ai gdb5.3. Une idee de ou ca peut venir? Des outils pour savoir pourquoi ca marche sous gdb et pas normalement? J'ai compiler avec lefence, ca n'a rien donné.
Ca m'est deja arriver, gdb est un environement particulier qui ne correspond pas tout a fait a la realité.
Ce que je te conseille c'est de passer un coup de valgrind sur ton programme. tu verra c'est genial, tu trouvera ton erreur et plein d'autre qui se cache :) http://developer.kde.org/~sewardj/
A+
Pascal wrote:
Salut,
Salut
Je cherche un ng pour programmation, de preference en C. Pas
francom.programmation car y a personne la bas... Je poste ici en
esperant qu'une ame charitable pourra m'eclairer car j'hallucine la!!!
Je suis sous Debian Sid. J'ai gcc3.3.2 et gcc2.95. J'ai fait un
programme de plus court chemin. lorsque je lance le programme, il me
fait un segfaut lorsque j'appelle une fonction precise. Donc j'essaie de
debugger sous gdb, et la mystere, ca marche nickel! Aucun segfaut!! J'ai
gdb5.3. Une idee de ou ca peut venir? Des outils pour savoir pourquoi ca
marche sous gdb et pas normalement? J'ai compiler avec lefence, ca n'a
rien donné.
Ca m'est deja arriver, gdb est un environement particulier qui ne
correspond pas tout a fait a la realité.
Ce que je te conseille c'est de passer un coup de valgrind sur ton
programme. tu verra c'est genial, tu trouvera ton erreur et plein
d'autre qui se cache :)
http://developer.kde.org/~sewardj/
Je cherche un ng pour programmation, de preference en C. Pas francom.programmation car y a personne la bas... Je poste ici en esperant qu'une ame charitable pourra m'eclairer car j'hallucine la!!!
Je suis sous Debian Sid. J'ai gcc3.3.2 et gcc2.95. J'ai fait un programme de plus court chemin. lorsque je lance le programme, il me fait un segfaut lorsque j'appelle une fonction precise. Donc j'essaie de debugger sous gdb, et la mystere, ca marche nickel! Aucun segfaut!! J'ai gdb5.3. Une idee de ou ca peut venir? Des outils pour savoir pourquoi ca marche sous gdb et pas normalement? J'ai compiler avec lefence, ca n'a rien donné.
Ca m'est deja arriver, gdb est un environement particulier qui ne correspond pas tout a fait a la realité.
Ce que je te conseille c'est de passer un coup de valgrind sur ton programme. tu verra c'est genial, tu trouvera ton erreur et plein d'autre qui se cache :) http://developer.kde.org/~sewardj/
A+
Pascal
shal wrote:
Pascal wrote:
Salut,
Salut
Je cherche un ng pour programmation, de preference en C. Pas francom.programmation car y a personne la bas... Je poste ici en esperant qu'une ame charitable pourra m'eclairer car j'hallucine la!!!
Je suis sous Debian Sid. J'ai gcc3.3.2 et gcc2.95. J'ai fait un programme de plus court chemin. lorsque je lance le programme, il me fait un segfaut lorsque j'appelle une fonction precise. Donc j'essaie de debugger sous gdb, et la mystere, ca marche nickel! Aucun segfaut!! J'ai gdb5.3. Une idee de ou ca peut venir? Des outils pour savoir pourquoi ca marche sous gdb et pas normalement? J'ai compiler avec lefence, ca n'a rien donné.
Ca m'est deja arriver, gdb est un environement particulier qui ne correspond pas tout a fait a la realité.
Ce que je te conseille c'est de passer un coup de valgrind sur ton programme. tu verra c'est genial, tu trouvera ton erreur et plein d'autre qui se cache :) http://developer.kde.org/~sewardj/
A+
Moi je connais valgrind, mais c'est la premiere fois que je m'en sers. Je comprends pas trop l'erreur qu'il me sort :
=U9== Invalid read of size 4 =U9== at 0x8049F12: main (main.c:40) =U9== Address 0xBFFFF7EC is just below %esp. Possibly a bug in GCC/G++ =U9== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes
(re)Voici le code: int main() { char rep; t_slist *l; t_mat **mat = NULL; int bool;
l = my_slist_alloc(); l = NULL; bool = 0; GRAPH_CREATE = 0; do { system("clear"); printf("***********************************************n"); printf(" Algorithme de Plus Court Cheminn"); printf("***********************************************n"); printf("Choisir Action n"); printf("1 : Donner le graphen"); printf("2 : Ajouter une clefn"); printf("3 : Supprimer une clefn"); printf("4 : Modifier une clefn"); printf("5 : Afficher le graphe en entreen"); printf("6 : Les listes de successeursn"); printf("7 : Afficher le PCC pour chaque sommetn"); printf("8 : Choisir un exemplen"); printf("9 : Sortirn"); printf("Rep: "); scanf("%c", &rep); switch (rep)// <-------------------------------- ligne 40 { case '1': l = create_graph(); break ; case '2': l = add_key(l); break ; case '3': l = delete_key(l); break ; case '4': l = modif_key(l); case '5': affiche_slist(l); break ; case '6': mat = graph2mat(l); afficher_mat(mat); bool = 1; break ; case '7': if (bool) moore(mat); break ; case '8': l = choisir_exemple(); break ; } } while (rep != '9'); my_slist_free(l); return 0; }
-- Pascal
shal wrote:
Pascal wrote:
Salut,
Salut
Je cherche un ng pour programmation, de preference en C. Pas
francom.programmation car y a personne la bas... Je poste ici en
esperant qu'une ame charitable pourra m'eclairer car j'hallucine la!!!
Je suis sous Debian Sid. J'ai gcc3.3.2 et gcc2.95. J'ai fait un
programme de plus court chemin. lorsque je lance le programme, il me
fait un segfaut lorsque j'appelle une fonction precise. Donc j'essaie
de debugger sous gdb, et la mystere, ca marche nickel! Aucun segfaut!!
J'ai gdb5.3. Une idee de ou ca peut venir? Des outils pour savoir
pourquoi ca marche sous gdb et pas normalement? J'ai compiler avec
lefence, ca n'a rien donné.
Ca m'est deja arriver, gdb est un environement particulier qui ne
correspond pas tout a fait a la realité.
Ce que je te conseille c'est de passer un coup de valgrind sur ton
programme. tu verra c'est genial, tu trouvera ton erreur et plein
d'autre qui se cache :)
http://developer.kde.org/~sewardj/
A+
Moi je connais valgrind, mais c'est la premiere fois que je m'en sers.
Je comprends pas trop l'erreur qu'il me sort :
=U9== Invalid read of size 4
=U9== at 0x8049F12: main (main.c:40)
=U9== Address 0xBFFFF7EC is just below %esp. Possibly a bug in GCC/G++
=U9== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes
(re)Voici le code:
int main()
{
char rep;
t_slist *l;
t_mat **mat = NULL;
int bool;
l = my_slist_alloc();
l = NULL;
bool = 0;
GRAPH_CREATE = 0;
do
{
system("clear");
printf("***********************************************n");
printf(" Algorithme de Plus Court Cheminn");
printf("***********************************************n");
printf("Choisir Action n");
printf("1 : Donner le graphen");
printf("2 : Ajouter une clefn");
printf("3 : Supprimer une clefn");
printf("4 : Modifier une clefn");
printf("5 : Afficher le graphe en entreen");
printf("6 : Les listes de successeursn");
printf("7 : Afficher le PCC pour chaque sommetn");
printf("8 : Choisir un exemplen");
printf("9 : Sortirn");
printf("Rep: ");
scanf("%c", &rep);
switch (rep)// <-------------------------------- ligne 40
{
case '1':
l = create_graph();
break ;
case '2':
l = add_key(l);
break ;
case '3':
l = delete_key(l);
break ;
case '4':
l = modif_key(l);
case '5':
affiche_slist(l);
break ;
case '6':
mat = graph2mat(l);
afficher_mat(mat);
bool = 1;
break ;
case '7':
if (bool)
moore(mat);
break ;
case '8':
l = choisir_exemple();
break ;
}
}
while (rep != '9');
my_slist_free(l);
return 0;
}
Je cherche un ng pour programmation, de preference en C. Pas francom.programmation car y a personne la bas... Je poste ici en esperant qu'une ame charitable pourra m'eclairer car j'hallucine la!!!
Je suis sous Debian Sid. J'ai gcc3.3.2 et gcc2.95. J'ai fait un programme de plus court chemin. lorsque je lance le programme, il me fait un segfaut lorsque j'appelle une fonction precise. Donc j'essaie de debugger sous gdb, et la mystere, ca marche nickel! Aucun segfaut!! J'ai gdb5.3. Une idee de ou ca peut venir? Des outils pour savoir pourquoi ca marche sous gdb et pas normalement? J'ai compiler avec lefence, ca n'a rien donné.
Ca m'est deja arriver, gdb est un environement particulier qui ne correspond pas tout a fait a la realité.
Ce que je te conseille c'est de passer un coup de valgrind sur ton programme. tu verra c'est genial, tu trouvera ton erreur et plein d'autre qui se cache :) http://developer.kde.org/~sewardj/
A+
Moi je connais valgrind, mais c'est la premiere fois que je m'en sers. Je comprends pas trop l'erreur qu'il me sort :
=U9== Invalid read of size 4 =U9== at 0x8049F12: main (main.c:40) =U9== Address 0xBFFFF7EC is just below %esp. Possibly a bug in GCC/G++ =U9== v 2.96 or 3.0.X. To suppress, use: --workaround-gcc296-bugs=yes
(re)Voici le code: int main() { char rep; t_slist *l; t_mat **mat = NULL; int bool;
l = my_slist_alloc(); l = NULL; bool = 0; GRAPH_CREATE = 0; do { system("clear"); printf("***********************************************n"); printf(" Algorithme de Plus Court Cheminn"); printf("***********************************************n"); printf("Choisir Action n"); printf("1 : Donner le graphen"); printf("2 : Ajouter une clefn"); printf("3 : Supprimer une clefn"); printf("4 : Modifier une clefn"); printf("5 : Afficher le graphe en entreen"); printf("6 : Les listes de successeursn"); printf("7 : Afficher le PCC pour chaque sommetn"); printf("8 : Choisir un exemplen"); printf("9 : Sortirn"); printf("Rep: "); scanf("%c", &rep); switch (rep)// <-------------------------------- ligne 40 { case '1': l = create_graph(); break ; case '2': l = add_key(l); break ; case '3': l = delete_key(l); break ; case '4': l = modif_key(l); case '5': affiche_slist(l); break ; case '6': mat = graph2mat(l); afficher_mat(mat); bool = 1; break ; case '7': if (bool) moore(mat); break ; case '8': l = choisir_exemple(); break ; } } while (rep != '9'); my_slist_free(l); return 0; }