Due to different implementations of data types in the world of C compilers, the following data types are used:
bool_t
: Boolean value, True or False
uint8_t
: 1 Byte value, value range 0 .. 28 - 1 (0 .. 255)
int8_t
: 1 Byte value, value range -27 .. 27 - 1 (-128 .. 127)
uint16_t
: 2 Byte value, value range 0 .. 216 - 1 (0 .. 65535)
int16_t
: 2 Byte value, value range -215 .. 215 - 1
uint32_t
: 4 Byte value, value range 0 .. 232 - 1
int32_t
: 4 Byte value, value range -231 .. 231 - 1
uint64_t
: 8 Byte value, value range 0 .. 264 - 1
int64_t
: 8 Byte value, value range -263 .. 263 - 1
The compiler type/version is evaluated via its internal predefined symbols. If your compiler is not (yet) supported, you will get the following error message upon compilation:
Data types are not defined! Please check compiler definition.
For GNU C compiler the predefined symbols can be obtained by the following command:
The following C compilers are supported by this file:
- Fujitsu C compiler for 16LX/16FX series (Softune)
- GNU C for Apple Mac-OS (Darwin)
- GNU C for ARM controller
- GNU C for Atmel AVR controller
- GNU C for Atmel AVR32 controller
- GNU C for ColdFire controller
- GNU C for Linux
- GNU C for PowerPC CPU (VxWorks)
- GNU C for TriCore controller
- Hi-Tech PICC18 for Microchip PIC18 controller
- IAR C compiler for ARM controller
- IAR C compiler for Renesas RX controller
- Imagecraft C compiler for Atmel AVR controller
- Keil C compiler for 8051 controller
- Keil C compiler for 80C16x controller
- Keil C compiler for ARM controller
- Metrowerks C compiler
- Microchip MPLAB C18 compiler for PIC18
- Microchip C30 compiler for PIC24 and dsPIC
- Microchip XC16 compiler for PIC24 and dsPIC
- Microchip XC32 compiler for PIC32
- Microsoft Visual C/C++ compiler
- National Instruments CVI compiler
- Renesas NC30 compiler for R8C and M16C controller
- Renesas RX compiler
- Texas Instruments ARM compiler
- Texas Instruments TMS320C28x compiler