Linux requires:
-
2 byte data items to begin at an even address (multiple of 2).
-
Larger types (int, float, double, pointers) must begin at addresses that are a multiple of 4.
Windows requires:
-
primitive types (char short, int, float, double, pointers) of size K must begin at an address that is a multiple of K.