Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdio.h"
- #define N 10
- typedef struct __attribute__((aligned(0x100)) _element {
- int val;
- char padding[64];
- struct _element *next;
- } element;
- int main() {
- element* head = new element;
- element* current = head;
- for (int i = 0; i < N; ++i) {
- current->val = i;
- if (i == N - 1)
- break;
- current->next = new element;
- current = current->next;
- }
- current->next = NULL;
- current = head;
- printf("sizeof(element) = 0x%xn", (unsigned int)sizeof(element));
- while (current) {
- printf("*(%p) = %dn", ¤t->val, current->val);
- current = current->next;
- }
- return 0;
- }
- sizeof(element) = 0x100
- *(0x501010) = 0
- *(0x501120) = 1
- *(0x501230) = 2
- *(0x501340) = 3
- *(0x501450) = 4
- *(0x501560) = 5
- *(0x501670) = 6
- *(0x501780) = 7
- *(0x501890) = 8
- *(0x5019a0) = 9
- attribute(__aligned__())
- 0xxxxxx30 % 0x40 == 0x0 //really? that's aligned to 64b?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement