Microchip Technology SW006022-2N Data Sheet
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).
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
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.
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.
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.
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.
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
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.
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