Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 User Manual

Product codes
SW006021-1
Page of 518
How To’s
 2012 Microchip Technology Inc.
DS52053B-page 45
3.3.7
How Do I Know What Compiler Options Are Available and What 
They Do?
A list of all compiler options can be obtained by using the --HELP option on the com-
mand line, see Section 4.8.33 “--HELP: Display Help”. If you give the --HELP option 
an argument, being an option name, it will give specific information on that option.
Alternatively, all options are all listed in Section 4.8 “Option Descriptions” in this 
user’s guide. If you are compiling in MPLAB X IDE, see Section 4.10 “MPLAB X Uni-
versal Toolsuite Equivalents”
, or
 in MPLAB IDE version 8, see Section 4.9 “MPLAB 
IDE V8 Universal Toolsuite Equivalents”
.
3.3.8
How Do I Know What the Build Options in MPLAB IDE do?
The widgets and controls in the MPLAB IDE Build options in most instances map 
directly to one command-line driver option or suboption. The section in the user’s guide 
that lists all command-line driver options (Section 4.8 “Option Descriptions”) has 
cross references, where appropriate, to the corresponding section which relates to 
accessing that option from the IDE. There are two separate sections for MPLAB X IDE 
(Section 4.10 “MPLAB X Universal Toolsuite Equivalents”) and MPLAB IDE ver-
sion 8 (Section 4.9 “MPLAB IDE V8 Universal Toolsuite Equivalents”).
3.3.9
What is Different About an MPLAB IDE Debug Build?
The Debug/Release pull-down widget in the MPLAB IDE version 8 toolbar indicates 
whether the build should be a debug or release build. In MPLAB X, there are separate 
build buttons and menu items to build a project and debug a project.
There are many differences in terms of the IDE, but for the XC8 compiler, there is very 
little that is different between the two. The main difference is the setting of a preproces-
sor macro called __DEBUG to be 1 when a debug is selected. This macro is not defined 
if it is not a debug build.
You may make code in your source conditional on this macro using #ifdef directives, 
etc (see Section 5.14.2 “Preprocessor Directives”) so that you can have your pro-
gram behave differently when you are still in a development cycle. Some compiler 
errors are easier to track down after performing a debug build.
In MPLAB X IDE, memory will be reserved for your debugger (if selected) only when 
you perform a debug build. In MPLAB v8, memory is always reserved if you select a 
debugger hardware tool in your project, see Section 3.5.3 “What Do I Need to Do 
When Compiling to Use a Debugger?”
.