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