diff options
author | David Timber <dxdt@dev.snart.me> | 2024-11-21 06:49:24 +0100 |
---|---|---|
committer | David Timber <dxdt@dev.snart.me> | 2024-11-21 06:49:24 +0100 |
commit | 265dc7ecbb11a8586c5712f281cc8f20a79d05aa (patch) | |
tree | a451ab7dce97e4cd9562b589f1bcd5bbf5460cb4 /writeups/unaligned-mem/pack.c | |
parent | d34f035e31a9e541abc23da5ac6c8270f5613270 (diff) |
Update writeups/unaligned-mem ...
Add pack.c and table.html
Diffstat (limited to 'writeups/unaligned-mem/pack.c')
-rw-r--r-- | writeups/unaligned-mem/pack.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/writeups/unaligned-mem/pack.c b/writeups/unaligned-mem/pack.c new file mode 100644 index 0000000..2b39d4d --- /dev/null +++ b/writeups/unaligned-mem/pack.c @@ -0,0 +1,28 @@ +#include <stdio.h> +#include <stdbool.h> + +#if 0 +#pragma pack(1) +#endif +struct { + unsigned a; + bool b; + unsigned short c; + unsigned d; +} a; + +int main(void) { + a.a = 0xAAAAAAAA; + a.b = true; + a.c = 0xFFFF; + a.d = 0x55555555; + + for (unsigned i = 1; i <= sizeof(a); i += 1) { + printf("%02x ", ((unsigned char*)&a)[i - 1]); + if (i % 4 == 0) { + printf("\n"); + } + } + + return 0; +} |