preguntar acerca de memory-alignment

10
réponses

Alignement de la mémoire dans les structures C

Je travaille sur la machine 32 bits, donc je suppose que l'alignement de la mémoire devrait être de 4 octets. Dites que j'ai struct: typedef struct { unsigned short v1; unsigned short v2; unsigned short v3; } myStruct; La taille réell …
demandé sur 1970-01-01 00:33:31
4
réponses

Pourquoi la taille de la classe augmente lorsque int64 t passe à int32 t

Dans mon premier exemple, j'ai deux champs de bits en utilisant int64_t. Quand je compile et obtiens la taille de la classe, j'obtiens 8. class Test { int64_t first : 40; int64_t second : 24; }; int main() { std::cout << sizeof(T …
demandé sur 1970-01-01 00:33:36
1
réponses

C11 alignas vs. clang-Wcast-align

donc j'ai le code C11 minimisé suivant qui définit une structure contenant uint16_t (ce qui signifie que la structure doit être alignée à 2 octets) et je veux lancer un tampon de char vers un pointeur vers cette structure. ... …
demandé sur 1970-01-01 00:33:35
8
réponses

But de l’alignement de la mémoire

Je ne comprends pas. Dites que vous avez une mémoire avec un mot de mémoire d'une longueur de 1 octet. Pourquoi ne pouvez-vous pas accéder à une variable longue de 4 octets dans un accès mémoire unique sur une adresse non alignée(c.-à-d. non divisibl …
demandé sur 1970-01-01 00:33:28
6
réponses

comment malloc comprend l’alignement?

extrait de ici pw = (widget *)malloc(sizeof(widget)); alloue stockage brut. En effet, l'appel malloc alloue du stockage c'est assez grand et convenablement aligné pour tenir un objet de type widget …
demandé sur 1970-01-01 00:33:32