Segmentation fault et make pointer from interger without a cast - C - Programmation
Marsh Posté le 11-05-2008 à 11:45:44
Salut,
Pour le "port" comme tu passe "&port", ne devrait-il être déclaré comme un pointeur sur un int ?
Marsh Posté le 11-05-2008 à 12:11:21
non, tu dis n'importe quoi, va jouer avec magicBuzz dans le champ de mine stp.
@djaibi. Quelle ligne l'erreur ?
Marsh Posté le 11-05-2008 à 12:17:16
Joel F a écrit : non, tu dis n'importe quoi, va jouer avec magicBuzz dans le champ de mine stp. |
Pauvre tache.
Marsh Posté le 11-05-2008 à 12:26:25
A+,
Marsh Posté le 11-05-2008 à 12:31:42
Sinon, a priori, je ne vois rien qui me semble mauvais dans le code posté, sauf peut être que l'on a des short int alors qu'il me semble que ntohs et son comparse attendent des unsigned short int.
Je serais donc interessé a savoir a quelle ligne exacte se situe le pb, moi aussi.
A+,
Marsh Posté le 12-05-2008 à 02:51:48
Moi je comprends pas la ligne 28, j'aurai passé port et pas *port en argument.
Marsh Posté le 12-05-2008 à 14:30:49
Ce qui signifie que tu n'as pas lu la ligne 37.
A+,
Marsh Posté le 12-05-2008 à 15:45:58
gilou a écrit : Ce qui signifie que tu n'as pas lu la ligne 37. |
Non c'est la 12 que j'avais pas lu, mal réveillé désolé.
Marsh Posté le 10-05-2008 à 19:45:54
Bonjour à vous,
Alors voilà j'ai un Segmentation Fault qui résulte surement du Warning. Sachant que j'ai fait un programme avec Module, donc voilà le main dans un fichier servConf.c, je n'ai rien mis dans le servConf.h.
Ensuite dans un fichier libsck.c :
Dans le fichier libsck.h j'ai :
Voilà c'est tout, pour la compilation je crée un fichier libsck.a, et ensuite je fais un gcc -o rapido servConf.o ../Socket/libsck.a (tout les fichier sont existants ect)
Au final j'ai un warning : makes integer from pointer without a cast (qui apparait dans le main à la ligne ou il y'a sock_lecture=initialisationServeur(&port)
Et j'ai un segmenation fault dans l'initialisationServeur (quand je met toute les lignes qui utilise port en commentaire le segmentation fault disparait), je suppose que ça vient de là mais je ne comprend pas du tout ...
Bref si quelqu'un sait, je ne suis pas contre un peu d'aide.
Ps : il y'a surement plein d'include qui ne servent à rien, mais en gros j'ai un programme bien plus compliqué que j'ai simplifié au maximum pour essayer de retrouvé l'erreur et il me semble l'avoir localisé à cet endroit.
Une autre question, si j'ai oublié de libérer un File descriptor et que maintenant j'ai l'erreur Errno 98 (already in use) je fais comment pour le libérer ?
Message édité par djaibi86 le 10-05-2008 à 20:15:24