;Affecter des adresses IP et des noms aux machine sur un reseau on utilisant les
Fermé
elkaderr
Messages postés
7
Date d'inscription
vendredi 29 décembre 2017
Statut
Membre
Dernière intervention
3 janvier 2019
-
3 janv. 2019 à 12:04
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 3 janv. 2019 à 15:25
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 3 janv. 2019 à 15:25
A voir également:
- ;Affecter des adresses IP et des noms aux machine sur un reseau on utilisant les
- Ethernet n'a pas de configuration ip valide - Guide
- Comment savoir si quelqu'un utilise mon adresse ip - Guide
- Comment connaître son adresse ip - Guide
- Les noms des animaux - Télécharger - Études & Formations
- Entrer les informations d'identification reseau - Guide
2 réponses
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
Ambassadeur
1 556
3 janv. 2019 à 13:23
3 janv. 2019 à 13:23
bonjour, "j'arrive pas": message d'erreur, comportement inattendu, ?
[Dal]
Messages postés
6194
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
11 octobre 2024
1 092
Modifié le 3 janv. 2019 à 15:51
Modifié le 3 janv. 2019 à 15:51
Salut elkaderr,
Il y a beaucoup de problèmes dans ton code.
Tu devrais compiler avec les warnings et corriger les causes des avertissements signalés.
Par ailleurs, tu ne devrais pas écrire près de 150 lignes de code sans tester au fur et à mesure que ce que tu écris est correct. Sinon, tu arrives au résultat que tu as : un code très embrouillé et difficile à déboguer.
Ta
Par contre, tu peux juste déclarer
La partie la plus visible des problèmes affectant ton code et qui provoque son plantage à l'exécution, est que ton allocation de mémoire ne va pas, en raison du fait que tu ne déclares pas assez d'espace pour chaque
Ainsi, ton code :
- calcule la taille de
- réserve un espace mémoire de cette taille
- met l'adresse de cet espace dans la variable pointeur "machine"
4 ou 8 octets sont très insuffisants pour stocker le contenu d'une
Pour déclarer un pointeur sur ton type
Il y a de nombreux autres problèmes... mais commence déjà par ceux là.
Dal
Il y a beaucoup de problèmes dans ton code.
Tu devrais compiler avec les warnings et corriger les causes des avertissements signalés.
Par ailleurs, tu ne devrais pas écrire près de 150 lignes de code sans tester au fur et à mesure que ce que tu écris est correct. Sinon, tu arrives au résultat que tu as : un code très embrouillé et difficile à déboguer.
Ta
struct Machine(que tu désignes par l'alias
pc) est ton type chaîné. Tu n'as pas besoin d'une
struct Listeen plus.
Par contre, tu peux juste déclarer
pc * premier;pour y garder l'adresse vers le début de ta liste, histoire de pouvoir la parcourir plus d'une fois. Cela sera ton point d'entrée.
La partie la plus visible des problèmes affectant ton code et qui provoque son plantage à l'exécution, est que ton allocation de mémoire ne va pas, en raison du fait que tu ne déclares pas assez d'espace pour chaque
pc(
struct Machine)
Ainsi, ton code :
pc *machine = malloc(sizeof(*machine));
- calcule la taille de
*machinequi renvoie la taille d'une adresse mémoire pour ton compilateur sur ton ordinateur (en principe 4 octets sur un compilateur et ordinateur 32 bits ou 8 octets sur 64 bits)
- réserve un espace mémoire de cette taille
- met l'adresse de cet espace dans la variable pointeur "machine"
4 ou 8 octets sont très insuffisants pour stocker le contenu d'une
struct Machine, et ton programme plante avec une erreur de segmentation de mémoire, car il essaye par la suite d'écrire dans une zone mémoire non allouée au programme.
Pour déclarer un pointeur sur ton type
pc(
struct Machine) auquel tu affectes l'adresse mémoire d'une zone allouée au programme permettant de stocker un
pc(
struct Machine) tu dois faire :
pc * machine = malloc(sizeof(pc));
Il y a de nombreux autres problèmes... mais commence déjà par ceux là.
Dal
3 janv. 2019 à 14:12
3 janv. 2019 à 14:13
3 janv. 2019 à 14:31