2 Compiler Overview

The MPLAB XC8 C Compiler is a free-standing, optimizing ISO C99 cross compiler for the C programming language.

The compiler supports all 8-bit PIC® and AVR® microcontrollers; however, this document describes the use of the xc8-cc driver for programs that target only Microchip PIC devices, and additionally, for programs that are built against the C99 Standard. See the MPLAB® XC8 C Compiler User’s Guide for AVR® MCU (DS50002750), for information on using this compiler when targeting Microchip AVR devices. If you are using the C90 Standard or the legacy compiler driver (xc8), see the MPLAB® XC8 C Legacy Compiler User’s Guide (DS50002053) document.

Note: Features described as being part of MPLAB XC8 in this document assume that you are using a Microchip PIC device and are building for the C99 C standard. These features may differ if you choose to instead compile for a Microchip AVR device or for the C90 standard.

When compiling for the C99 standard, this compiler utilizes the Clang compiler front end. The older CPP/P1 front end is used when building for C90 projects.