Keil Logo

Keil C251 Compiler

Preprocessor Symbols

Define
Sets preprocessor symbols which may be checked with #if, #ifdef and #ifndef. The defined names are copied exactly as they are entered (case-sensitive). Each name may get optionally a value. Define: Check, NoExtRam, X1=1+5 is identical to the following C preprocessor #define statements:
   #define Check
   #define NoExtRam
   #define X1 1+5
Undefine
Clears previous Define assignments that are entered in the options dialog of a higher Target or Group level.

Code Optimization

Level
Set the optimization level the Compiler uses when generating object code.
Emphasis
Specify whether the Compiler should optimize for code size or execution speed.
Global Register Coloring
Enable application wide register optimization. When set the C251 Compiler knows the registers used by external functions and µVision performs automatically iterative re-translations of C source files to improve the register allocation.
Generate reentrant functions
By default (when disabled), static memory is used for non-register automatic and parameter variables. This generates fast code. The linker/locater overlays the static memory areas of functions when they do not call each other.

When enabled, the 251 stack space is used for non-register automatic and parameter variables. This generates reentrant code that can be shared by several processes at the same time.

Alias Checking on Pointer Accesses
Select this check box to force the compiler to reload registers holding variables that have aliases (usually through pointers). When this check box is clear, the compiler reuses register contents even though a pointer or a other alias may have changed the variable.

Other Controls

Warnings
Lets you to suppress compiler warnings.
Keep Variables in Order
Order all variables in memory according to their order of definition in the C source file.
Treat plain 'char' as 'unsigned char'
Instructs the Compiler to treat all variables declared with plain char as unsigned char variables.
Double-precision Floating Point
Enable 64-bit (double-precision) floating-point math when the double typ is used in your C programs. The float type continues to use 32-bit floating-point math. When disabled, all floating-point math is performed using 32-bits (even when the double type is specified).
Bits to round for float compare
Determines the number of bits rounded before a floating-point compare is executed. The default value of 3 specifies that the three least significant bits of a float value are rounded before the floating-point compare is executed.
Include Paths
Allows you to supply one or more (separated by semi-colon) paths to search for header files. For #include "filename.h" the Compiler searches first the current folder and then folder of the source file. When this fails or when #include <filename.h> is used, the paths specified in the include paths box are searched. When this still fails, the paths specified in for the INC folder under Project - Manage - Project Items are used.
Misc Controls
Specify any directive for which there is no individual dialog control.
Compiler Control String
Displays the current directives at the Compiler command line.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.