Microchip Technology SW006023-2N Data Sheet

Page of 238
MPLAB
®
 XC32 C/C++ Compiler User’s Guide
DS51686E-page 14
 2012 Microchip Technology Inc.
1.3.2
ANSI C Standards
The compiler is a fully validated compiler that conforms to the ANSI C standard as 
defined by the ANSI specification (ANSI x3.159-1989) and described in Kernighan and 
Ritchie’s The C Programming Language (second edition). The ANSI standard includes 
extensions to the original C definition that are now standard features of the language. 
These extensions enhance portability and offer increased capability. In addition, lan-
guage extensions for PIC32 MCU embedded-control applications are included.
1.3.3
Optimization
The compiler uses a set of sophisticated optimization passes that employ many 
advanced techniques for generating efficient, compact code from C/C++ source. The 
optimization passes include high-level optimizations that are applicable to any C/C++ 
code, as well as PIC32 MCU-specific optimizations that take advantage of the particu-
lar features of the device architecture.
For more on optimizations, see Chapter 15. “Optimizations”.
1.3.4
ANSI Standard Library Support
The compiler is distributed with a complete ANSI C standard library. All library functions 
have been validated and conform to the ANSI C library standard. The library includes 
functions for string manipulation, dynamic memory allocation, data conversion, time-
keeping and math functions (trigonometric, exponential and hyperbolic). The standard 
I/O functions for file handling are also included, and, as distributed, they support full 
access to the host file system using the command-line simulator. The fully functional 
source code for the low-level file I/O functions is provided in the compiler distribution, 
and may be used as a starting point for applications that require this capability.
1.3.5
ISO/IEC C++ Standard
The compiler is distributed with the 2003 Standard C++ Library.
1.3.6
Compiler Driver
The compiler includes a powerful command-line driver program. Using the driver 
program, application programs can be compiled, assembled and linked in a single step.
1.3.7
Documentation
The C compiler is supported under both the MPLAB IDE v8.xx or higher, and the 
MPLAB X IDE. For C++, MPLAB X IDE v1.40 or higher is required. For simplicity, both 
IDEs are referred to throughout the book as simply MPLAB IDE.
Features that are unique to specific devices, and therefore specific compilers, are 
noted with “DD” text the column (see the Preface) and text identifying the devices to 
which the information applies.
Note:
Do not specify an MPLAB XC32 system include directory (e.g. 
/pic32mx/include/
) in your project properties. The xc32-gcc and 
xc32-g++
 compilation drivers automatically select the XC libc or the Din-
kumware libc and their respective include-file directory for you. Manually 
adding a system include file path may disrupt this mechanism and cause 
the incorrect libc include files to be compiled into your project, causing a 
conflict between the include files and the library. Note that adding a system 
include path to your project properties has never been a recommended 
practice.