Some other toolchains have alternative ways of packing structures. For example a particular toolchain might use a qualifier "__packed" which needs to be placed before the structure rather than using an attribute after the structure. The following code snippet shows how code might be written to allow the code to be compilable using either toolchain...

Note that packing data can have code size and performance overheads. Thus it is not recommended for general use. However there are some circumstances where you may need to make use of it - for example for accessing data coming in from peripherals.