Download User`s Manual - Digi International

Transcript
Watch Expressions
Allow any expressions in watch expressions. This option causes any compilation of a user
program to pull in all the utility functions used for expression evaluation.
Restricting watch expressions (may save root code space) Choosing this option means
only utility code already used in the application program will be compiled.
Separate I&D Space
When checked, this option enables separate instruction and data space, doubling the amount of
root code and root data space available.
Please note that if you are compiling to a 128K RAM, there is only about 12K available for
user code when separate I&D space is enabled.
Type Checking
This menu item allows the following choices:
• Prototypes—Performs strict type checking of arguments of function calls against the
function prototype. The number of arguments passed must match the number of parameters in the prototype. In addition, the types of arguments must match those defined in
the prototype. Z-World recommends prototype checking because it identifies likely
run-time problems. To use this feature fully, all functions should have prototypes
(including functions implemented in assembly).
• Demotion—Detects demotion. A demotion automatically converts the value of a larger
or more complex type to the value of a smaller or less complex type. The increasing
order of complexity of scalar types is:
char
unsigned int
int
unsigned long
long
float
A demotion deserves a warning because information may be lost in the conversion. For
example, when a long variable whose value is 0x10000 is converted to an int value,
the resulting value is 0. The high-order 16 bits are lost. An explicit type casting can
eliminate demotion warnings. All demotion warnings are considered non-serious as far
as warning reports are concerned.
• Pointer—Generates warnings if pointers to different types are intermixed without type
casting. While type casting has no effect in straightforward pointer assignments of different types, type casting does affect pointer arithmetic and pointer dereferences. All
pointer warnings are considered non-serious as far as warning reports are concerned.
Warning Reports
This tells the compiler whether to report all warnings, no warnings or serious warnings only. It
is advisable to let the compiler report all warnings because each warning is a potential runtime bug. Demotions (such as converting a long to an int) are considered non-serious with
regard to warning reports.
Chapter 14: Graphical User Interface
195