Crossware

Table of Contents        Previous topic       Next topic       

Projects and Workspaces->Build Settings->Compiler

To change the compiler settings for your project, select Settings from the Build menu and select the Compiler tab (Build->Settings->Compiler).

The compiler project settings tab allows you to modify project options that apply to the C compilation phase of the project build process.


Warning level
    
NoneSelect None if you wish to suppress all warning messages from the compiler.
Level 1Currently there are no level 1 compiler warnings. Selecting this option is therefore equivalent to selecting None.
Level 2Select this option if you wish to suppress warnings about unreferenced symbols and uninitialised contant variables.
Level 3Select this option if you wish to suppress warnings about uninitialised contant variables.
Level 4Select this option if you wish to allow all compiler warning messages


Warnings as Errors

Check this option if you want the compiler to count warnings as errors.  You would typically select this option if you wanted to prevent the linker or the library manager from building the final output file in the event of a warning occurring.


Generate Debug Records

Check this option if you want the compiler to generate debug records and place them in the object files that it creates.

Compilation will be slightly faster if the compiler is not generating debug records.  There is therefore some advantage to disabling this option if you are not using the debug output.

Enabling this option does not mean that the debug records will end up in your final program file.  You must also enable the output of debug records by the linker.


Listing Options
    
Create source/assembly listingCheck this option if you wish to create a list file containing your C code mixed with the assembler listing output that the compiler has generated.
Insert page breaksCheck this option if you want the compiler to insert page breaks into the source/assembly listing.
Compilation is significantly slower if a source/assembly listing is being generated.  You should therefore disable this option if you do not need such a listing.


Register Optimisations
    
Use register keywordCheck this option if you want the compiler to take account of the register keyword used with any local variables when it is allocating registers.
Global register allocationCheck this option if you want the compiler to allocate registers to global and local variables within each of your C functions.

If you check Global Register Allocation, the compiler will analyse the expressions throughout each function in your code and allocate global and local variables to registers for the duration of the function depending upon the desirability of doing so.  If you also check Use Register Keyword, the desirability of local variables with which this keyword has been used will be boosted.

If you check Use Register Keyword only, the compiler will analyse the expressions throughout each function in your code and allocate local variables to registers for the duration of the function depending upon the desirability of doing so.  Only those variables defined with the register keyword will be considered for allocation to registers.

If you do not check either of these options, then no registers are allocated to variables.

Vector Interrupt Offset

This field enables you to specify the vector offset to be used by the compiler when generating interrupt vectoring code. See Automatic Coding of Interrupt Vector and the /VO command line option in the compiler for more details.

The __InterruptVectorOffset variable in the startup file will also be set to the value in this field.  (See Startup Files in the Embedded Development Studio for more information on startup file variables).


Preprocessor Definitions

This field enables you to specify preprocessor definitions that will apply during the compilation phase.  You can enter multiple preprocessor tokens into this field (separated by spaces and/or commas) and each will be considered to be defined by the compiler.  For instance, if you enter the following text into this field:

LINT, RELEASE

this will be translated to the compiler command line:

/DLINT /DRELEASE

The tokens LINT and RELEASE can then be use throughout your C code in exactly the same way as if you had included the following lines in your C source:

#define LINT
#define RELEASE


Suppress Startup Banner and Message Display

Check this option if you wish to suppress the sign-on message displayed by the compiler.