Bonjour
Je travaille en compilation croisé,j'envoie des données depuis l'espace utilisateur vers des modules noyaux mais à l'arrivée je ne trouve pas les mêmes données.En fait j'ai un problème de big/litle-endian car je compile mon programme avec un x86 et ma cible est un powerpc. Si quelqu'un peut m'aider.
merci
# Pas clair du tout.
Posté par neologix . Évalué à 1.
Je t'ai déjà croisé sur un autre forum, je t'ai dit d'où venait ton problème.
Si tu balances des structures via des sockets en te contentant de les caster en 'char *', cela ne marchera jamais. Tu auras des problèmes d'endianess, de taille des différents types, et même sur une seule architecure, des problèmes à cause du padding des structures.
Jette un coup d'oeil à ce lien, ça pourrait t'aider.
http://c-faq.com/struct/io.html
Aussi ça:
http://c-faq.com/strangeprob/ptralign.html
Et achète-toi un bouqin traitant de la programmation réseau sous Unix.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.