Jump to main content
MPLAB XC8 C Compiler User’s Guide for PIC MCU
Search
Notice to Development Tools Customers
1
Preface
1.1
Conventions Used in This Guide
1.2
Recommended Reading
2
Compiler Overview
2.1
Device Description
2.2
C Standards
2.3
Hosts and Licenses
2.4
Conventions
2.5
Compatible Development Tools
3
How Tos
3.1
Installing and Activating the Compiler
3.2
Invoking the Compiler
3.3
Writing Source Code
3.4
Getting My Application To Do What I Want
3.5
Understanding the Compilation Process
3.6
Fixing Code That Does Not Work
4
Command-line Driver
4.1
Invoking The Compiler
4.2
The Compilation Sequence
4.3
Runtime Files
4.4
Compiler Output
4.5
Compiler Messages
4.6
Option Descriptions
4.7
MPLAB X IDE Integration
5
C Language Features
5.1
C Standard Compliance
5.2
Device-Related Features
5.3
Supported Data Types and Variables
5.4
Memory Allocation and Access
5.5
Operators and Statements
5.6
Register Usage
5.7
Stacks
5.8
Functions
5.9
Interrupts
5.10
Main, Runtime Startup and Reset
5.11
Libraries
5.12
Mixing C and Assembly Code
5.13
Optimizations
5.14
Preprocessing
5.15
Linking Programs
6
Macro Assembler
6.1
MPLAB XC8 Assembly Language
6.2
Assembly-Level Optimizations
6.3
Assembly List Files
7
Linker
7.1
Operation
7.2
Psects and Relocation
7.3
Map Files
8
Utilities
8.1
Archiver/Librarian
8.2
Hexmate
9
Library Functions
9.1
Library Example Code
9.2
<xc.h> Device-specific Functions
10
Error and Warning Messages
10.1
Messages 0 Thru 499
10.2
Messages 500 Thru 999
10.3
Messages 1000 Thru 1499
10.4
Messages 1500 Thru 1999
10.5
Messages 2000 Thru 2499
11
Implementation-Defined Behavior
11.1
Overview
11.2
Translation
11.3
Environment
11.4
Identifiers
11.5
Characters
11.6
Integers
11.7
Floating-Point
11.8
Arrays and Pointers
11.9
Hints
11.10
Structures, Unions, Enumerations, and Bit-Fields
11.11
Qualifiers
11.12
Pre-Processing Directives
11.13
Library Functions
11.14
Architecture
12
Document Revision History
Microchip Information
Trademarks
Legal Notice
Microchip Devices Code Protection Feature