;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 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 3 janv. 2019 à 15:25
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 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
- Localiser adresse ip - Guide
- Annuaire portable gratuit a partir d'un nom ✓ - Forum Mobile
- Frédéric cherche à faire le buzz sur les réseaux sociaux. il a ajouté une image de manchots sur une image de plage. retrouvez l'image originale de la plage. que cachent les manchots ? ✓ - Forum Windows
- Cliquez sur ce lien. en n'utilisant que le clavier, quel mot obtenez-vous ? ✓ - Forum souris / Touchpad
2 réponses
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
3 janv. 2019 à 13:23
3 janv. 2019 à 13:23
bonjour, "j'arrive pas": message d'erreur, comportement inattendu, ?
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
1 043
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