PACK Compiler Directive
Abbreviation |
None. |
Arguments |
A decimal number (1 or 2) enclosed in parentheses. |
Default |
PACK(1) |
µVision |
Options — C166 — Misc Controls. |
Description |
The PACK directive causes the compiler to generate byte-aligned or half-word-aligned structures. This is useful when exchanging data with other systems where no alignment is required.
|
See Also | |
Example |
#pragma pack(1) /* byte alignment */ #pragma bytealign /* ptrs to byte-aligned objects */ struct s1 { int i1; // i1 has offset 0 char c1; // c1 has offset 2 int i2; // i2 has offset 3 char c2; // c2 has offset 5 int i3; // i3 has offset 6 char z1; // z1 has offset 8 }; #pragma pack() /* reset to default alignment */ struct s2 { int i1; // i1 has offset 0 char c1; // c1 has offset 2 int i2; // i2 has offset 4 char c2; // c2 has offset 6 int i3; // i3 has offset 8 char z1; // z1 has offset 10 }; |