Microchip Technology SW006022-2N Data Sheet

Page of 338
Compiler Command-Line Driver
 2012 Microchip Technology Inc.
DS52071B-page 83
3.8
MPLAB IDE TOOLSUITE EQUIVALENTS
For information on related compiler options in MPLAB IDE, see the MPLAB Assembler, 
Linker and Utilities for PIC24 MCUs and dsPIC DSCs User’s Guide (DS51317)
.
-fpack-struct
Pack all structure members together without holes. Usually you 
would not want to use this option, since it makes the code 
sub-optimal, and the offsets of structure members won’t agree with 
system libraries.
The dsPIC
®
 DSC device requires that words be aligned on even 
byte boundaries, so care must be taken when using the packed 
attribute to avoid run time addressing errors.
-fpcc-struct-
 return
Return short struct and union values in memory like longer 
ones, rather than in registers. This convention is less efficient, but 
it has the advantage of allowing capability between the 16-bit com-
piler compiled files and files compiled with other compilers.
Short structures and unions are those whose size and alignment 
match that of an integer type. 
-fno-short-double
By default, the compiler uses a double type equivalent to float. 
This option makes double equivalent to long double. Mixing 
this option across modules can have unexpected results if 
modules share double data either directly through argument 
passage or indirectly through shared buffer space. Libraries 
provided with the product function with either switch setting.
-fshort-enums
Allocate to an enum type only as many bytes as it needs for the 
declared range of possible values. Specifically, the enum type will 
be equivalent to the smallest integer type which has enough room.
-fverbose-asm
-fno-verbose-asm
Put extra commentary information in the generated assembly code 
to make it more readable.
-fno-verbose-asm
, the default, causes the extra information to 
be omitted and is useful when comparing two assembler files.
-fvolatile
Consider all memory references through pointers to be volatile.
-fvolatile-global
Consider all memory references to external and global data items 
to be volatile. The use of this switch has no effect on static data.
-fvolatile-static
Consider all memory references to static data to be volatile.
TABLE 3-18:
CODE GENERATION CONVENTION OPTIONS (CONTINUED)
Option
Definition