Bonjour,
J'ai un segmentation fault assez bizarre, et surtout tres ennuyeux car je n'arrive pas à le résoudre![]()
J'utilisa la structure suivante :
Voici la fonction qui pose probleme :
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 typedef struct { GtkWidget *pFenetre; /* Fenetre principale */ GtkWidget *pLbIp; /* Label IP */ GtkWidget *pLbPort; /* Label Port */ GtkWidget *pLbLogin; /* Label Login */ GtkWidget *pLbMdp; /* Label Mot de passe */ GtkWidget *pLbDest; /* Label destinataire */ GtkWidget *pLbMsg; /* Label message */ GtkWidget *pZsIp; /* Zone saisie IP */ GtkWidget *pZsPort; /* Zone saisie Port */ GtkWidget *pZsLogin; /* Zone saisie Login */ GtkWidget *pZsMdp; /* Zone saisie Mot de passe */ GtkWidget *pZsDest; /* Zone saisie destinataire */ GtkWidget *pZsMsg; /* Zone saisie message */ GtkWidget *pBtConnect; /* Bouton de connection */ GtkWidget *pBtQuit; /* Bouton quitter */ GtkWidget *pBtSend; /* Bouton d'envoie */ GtkWidget *pZtInfos; /* Zone de texte */ SOCKET maSocket; }data;
gpointer = void *
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void connection(gpointer donnees) { data* pData = donnees; /*Creation socket */ pData->maSocket = socket(PF_INET,SOCK_STREAM,0); }
Le main :
Je ne comprend pas du tout pourquoi j'ai un segmentation fault lors de l'instruction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 int main(int argc, char* argv[]) { /* Declaration des variables */ data pData; /*Connection du signal click de chaque bouton à la fonction appropriée*/ g_signal_connect(G_OBJECT(pData.pBtConnect),"clicked",G_CALLBACK(connection),&pData); /* ... */ return 0; }
Surtout que quand je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part pData->maSocket = socket(PF_INET,SOCK_STREAM,0);
Ca passe...
Code : Sélectionner tout - Visualiser dans une fenêtre à part pData->maSocket = 0;
![]()
Merci pour votre aide
Partager