25.1.2 The Common C Interface
The Common C Interface (CCI) supplements the C Language Standard, such as ISO/IEC 9899:1999, and makes it easier for programmers to achieve consistent outcomes on all Microchip devices when using MPLAB XC C compilers.
It delivers the following improvements, all designed with portability in mind.
Refinement of the C Language Standard | The CCI documents specific behavior for some code in which actions are
implementation-defined behavior under the C Language Standard. For example, the
result of right-shifting a signed integer is fully defined by the CCI. Note that
many implementation-defined items that closely couple with device
characteristics, such as the size of an int , are not defined by
the CCI. |
Consistent syntax for non-standard extensions | The CCI non-standard extensions are mostly implemented using keywords with a uniform syntax. They replace keywords, macros and attributes that are the native compiler implementation. The interpretation of the keyword can differ across each compiler, and any arguments to the keywords can be device specific. |
Coding guidelines | The CCI can indicate advice on how code should be written so that it can be ported to other devices or compilers. While you may choose not to follow the advice, it will not conform to the CCI. |