Microchip Technology SW006023-1N Data Sheet

Page of 238
MPLAB
®
 XC32 C/C++ COMPILER
USER’S GUIDE
 2012 Microchip Technology Inc.
DS51686E-page 13
Chapter 1.  Compiler Overview
1.1
INTRODUCTION
The MPLAB XC32 C/C++ Compiler is defined and described in the following topics:
1.2
DEVICE DESCRIPTION
The MPLAB XC32 C/C++ Compiler fully supports all Microchip 32-bit devices.
1.3
COMPILER DESCRIPTION AND DOCUMENTATION
The MPLAB XC32 C/C++ Compiler is a full-featured, optimizing compiler that trans-
lates standard ANSI C programs into 32-bit device assembly language source. The 
compiler also supports many command-line options and language extensions that 
allow full access to the 32-bit device hardware capabilities, and affords fine control of 
the compiler code generator.
The compiler is a port of the GCC compiler from the Free Software Foundation.
The compiler is available for several popular operating systems, including 32 and 64-bit 
Windows
®
, Linux and Apple OS X.
The compiler can run in one of three operating modes: Free, Standard or PRO. The 
Standard and PRO operating modes are licensed modes and require an activation key 
and Internet connectivity to enable them. Free mode is available for unlicensed cus-
tomers. The basic compiler operation, supported devices and available memory are 
identical across all modes. The modes only differ in the level of optimization employed 
by the compiler.
1.3.1
Conventions
Throughout this manual, the term “the compiler” is often used. It can refer to either all, 
or some subset of, the collection of applications that form the MPLAB XC32 C/C++ 
Compiler. Often it is not important to know, for example, whether an action is performed 
by the parser or code generator application, and it is sufficient to say it was performed 
by “the compiler”.
It is also reasonable for “the compiler” to refer to the command-line driver (or just driver) 
as this is the application that is always executed to invoke the compilation process. The 
driver for the MPLAB XC32 C/C++ Compiler package is called xc32-gcc. The driver 
for the C/ASM projects is also xc32-gcc. The driver for C/C++/ASM projects is 
xc32-g++
. The drivers and their options are discussed in Section 3.9 “Driver Option 
Descriptions”. Following this view, “compiler options” should be considered com-
mand-line driver options, unless otherwise specified in this manual.
Similarly “compilation” refers to all, or some part of, the steps involved in generating 
source code into an executable binary image.