How to do it...

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:

  1. In your working directory, that is, ~/testcreate a copy of the alignment subdirectory. Name it packed_alignment.  
  2. 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));
  1. Build the application and copy the resulting executable binary to the target system. Use the recipes from Chapter 2Setting Up the Environment, to do so.
  2. Switch to the target system's Terminal. Log in using your user credentials, if needed.
  3. Run the binary.