# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MPLAB XC16 C-Compiler

- 1
- 2
…
- 13
- 14
- 15
- 16
- 17
…
- 365
- 366

MPLAB
®
XC16 C COMPILER
USERS GUIDE
 2012-2013 Microchip Technology Inc. DS50002071C-page 15
Chapter 1. Compiler Overview
1.1 INTRODUCTION
The MPLAB XC16 C compiler is defined and described in the following topics:
 Device Description
 Compiler Description and Documentation
 Compiler and Other Development Tools
1.2 DEVICE DESCRIPTION
The MPLAB XC16 C compiler fully supports all Microchip 16-bit devices:
 The dsPIC
®
family of digital signal controllers combines the high performance
required in digital signal processor (DSP) applications with standard microcontrol-
ler (MCU) features needed for embedded applications.
 The PIC24 family of MCUs are identical to the dsPIC DSCs with the exception that
they do not have the digital signal controller module or that subset of instructions.
They are a subset, and are high-performance MCUs intended for applications that
do not require the power of the DSC capabilities.
1.3 COMPILER DESCRIPTION AND DOCUMENTATION
The MPLAB XC16 C compiler is a full-featured, optimizing compiler that translates
standard ANSI C programs into 16-bit device assembly language source. The compiler
also supports many command-line options and language extensions that allow full
access to the 16-bit device hardware capabilities, and affords fine control of the com-
piler code generator.
The compiler is a port of the GNU Compiler Collection (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 (see Chapter 18. Optimizations).
This key features of the compiler are discussed in the following sections.
1.3.1 ANSI C Standard
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,
language extensions for dsPIC DSC embedded-control applications are included.

- 1
- 2
…
- 13
- 14
- 15
- 16
- 17
…
- 365
- 366