124 of 172
ZBasic Language Reference 117 ZX Microcontroller Family --main-task-stack-size=<value> This option, useful only for native mode devices, specifies the size of the stack for the Main() task and, indirectly, the heap limit. See the discussion in section 4.6 for details on the effect of this option. --map=<file> This option explicitly specifies the name for the map file. In the absence of this option, the map file name is derived from either the project file, if specified, or the first file compiled. If an earlier or later option specifies no map file should be generated this option is ignored. Currently, no map file is generated for native mode devices. --no-analyze-stack-use When this option is specified, the compiler will not perform an analysis of the tasks in your application to determine the minimum stack size required. Consequently, you must make your own determination of the proper task stack sizes by whatever means is appropriate. --no-code This option causes the compiler to omit the code generation step. By implication, no map file will be generated either. This may be useful if all you want is a syntax check. --no-map This option causes the compiler to omit map file generation. --optimize=<optimization-type>[,<optimization-type>...] This option enables or disables specific types of optimizations. In most cases, you’ll want to use the default optimization settings. This option is provides for unusual circumstances where more control is needed over the optimizations performed. The optimization types are described in the table below. To disable an optimization type, add the prefix no- to the optimization type, e.g. no-strength- reduction. All optimization can be turned off using –-optimize=no-optimize. Optimization Type Description constant-folding Expressions involving constants may be evaluated at compile-time. Note, particularly, that some System Library function invocations having parameters known to be constant may be replaced by the equivalent value. In some cases the same strategy may be applied to user-defined functions. constant-propagation The use of expressions involving variables known to be constant may be replaced with the constant value. expression-order Expressions may be rearranged to facilitate additional optimizations. Such rearrangement will never be performed across parenthetical boundaries if the option preserve-parens is specified. inline Small subroutines and functions may be generated in-line instead of generating a routine invocation. optimize Refers to all affirmative optimization types collectively. The only optimization type not included in this group is preserve-parens. preserve-parens The presence of this options restricts the use of expression optimizations to parenthetical boundaries. strength-reduction Reduction-in-strength optimizations may be performed, e.g. multiplication by a power of two replaced by left shift.