bonjour à tous,
voila si j'ai
B aura une taille de 5 octets alors que la structure de A aura une taille de 8 octets. Le compilateur rajoute des octets de padding mais pourquoi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 struct A{ int m_value ; char c; } struct B{ int m_value; char c; }__attribute__((packed))
sur un pc 64 bits, le bus de donné et de 128 bits, donc on peut recupérer a chaque coup d'horloge jusqu'a 16 octets de mémoire. Donc si mon processus a besoin de récupérer la valeur de m_value quel est l'interet
d'ajouter des octets de padding. ca ne va rien changer car je peux lire facilement mon/mes octets avec ou sans padding. Je pense que mon probleme de compréhesion est plus un probleme hardware que logiciel mais je poste quand meme ici.
Merci d'avance pour votre aide
Partager