|
|||||||||||||
|
C Compiler RequirementsTo use the 'Microlite' IrDA stack, your target C compiler must have these features:
Flexible Array MembersYour target compiler must support 'flexible array members' with either a [] or a [0] dimension for the last element. Furthermore, 'sizeof()' must return the size of the explicitly defined members. eg struct f1 { uint16_t x; uint8_t y[]; }; where sizeof(f1) = sizeof(uint16_t). This feature was introduced in C99. If your compiler does not support 'flexible array members', this can be fixed but will require code changes. These types of declarations are used as overlays for IrDA frames. Packed StructuresYour target compiler must support 'packed structures' where no padding is added after byte fields in structures. Furthermore, 'sizeof()' must return the size of the explicitly defined members. eg struct f2 { uint8_t x; uint16_t y; uint8_t z; }; where sizeof(f2) = sizeof(uint8_t) + sizeof(uint16_t) + sizeof(uint8_t). Some compilers align (u)int16_t / (u)int32_t types on word boundaries after a uint8_t by adding the necessary padding. This is usually set with a compiler option. These types of declarations are used as overlays for IrDA frames. |
![]() |
![]() |
![]() |
© Copyright Kea Computing Ltd 2021 - All rights reserved | Legal Notice | Terms of Use | Kea Computing Ltd |
![]() |