In this simple application, we will define an array of packed structures and see how this affects the amount of memory it requires. Follow these steps to do so:
- In your working directory, that is, ~/test, create a copy of the alignment subdirectory. Name it packed_alignment.
- Modify the alignment.cpp file by adding __attribute__((packed)) to the definition of each structure:
struct ObjectMetadata1 {
uint8_t access_flags;
uint32_t size;
uint32_t owner_id;
Category category;
} __attribute__((packed));
struct ObjectMetadata2 {
uint32_t size;
uint32_t owner_id;
uint8_t access_flags;
Category category;
} __attribute__((packed));
- Build the application and copy the resulting executable binary to the target system. Use the recipes from Chapter 2, Setting Up the Environment, to do so.
- Switch to the target system's Terminal. Log in using your user credentials, if needed.
- Run the binary.