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
};
|
Note