Project Settings Dialog Options

Here are options and fields of the Project Settings dialog. All that described in this topic can be applied for files and builds only.

General tab

When changing build settings

In the Target path text box you can specify the directory containing all files that are necessary for building the output file for this build. The target directory is contained in the directory specified by the environment variable %MPCLOAD% on each builder of the current VPM (see Virtual Parallel Machines overview).

In the Target C files path you can specify the directory containing the C files generated by mpC compiler. The directory must be contained in the directory specified in the Target path field.

In the Target Obj files path you can specify the directory containing the .obj files generated by C compiler.

By checking or clearing the Broadcast output file check box you can define whether the output file of this build must be broadcasted to other computers of the current VPM or not.

When changing file settings

The Target path text box has the same meaning when you change file settings as it has when you change build settings.

The Exclude from build check box defines whether this file takes part in build process or not.

The Use own settings check box defines whether this file’s own settings will be used for building output file or the settings of the build to which this file belongs.

The Use own target path check box defines whether the path specified in the Target path text box will be used for this file or the build’s, to which this file belongs, target path.

MPC tab

The same for both file and build settings

From the Category dropdown list you can choose either General or Warnings.

If you choose the General category the Parser mode dropdown list and the Generate debug info check box are displayed.

You can choose one of the following parser modes: SHORT, ANSI, LONG, and ALL. By default the SHORT mode is used. This mode allows using only the short form of mpC keywords. The ANSI mode allows to use only ANSI C keywords. The LONG mode allows to use only the full form of mpC keywords. The ALL mode allows to use both forms of mpC keywords. For example, 'net' and `mpc_net' are identifiers in the ANSI mode and mpC keywords in the ALL mode. `net' is an identifier in the LONG mode and a mpC keyword in the SHORT mode. Finally, `mpc_net' is an identifier in the SHORT mode and an mpC keyword in the LONG mode. Presence of these modes supports the compatibility with previously written C code.

The Generate debug info check box specifies whether mpC compiler generates debug information or not.

From the Warnings dropdown list you can choose Off, Default, All or Customize.

 

Off

No warning messages are printed

Default

Only important messages are printed

All

All warning messages are printed

Customize

You can specify which warning messages are on and which are off

 

If you choose the Customize category you can control the amount and kinds of warnings produced by the mpC compiler using selections in the Warnings list box:

 

Incorrect declarations

Warnings about the (possible) incorrectness of declarations (default)

Incorrect initialization

Warnings about the incorrect initialization (default)

Uncertain size of operands

Warnings produced when the compiler can't check sizes of operands. As example, when one of operands of assignment operator is distributed over the (sub)network which size can't be evaluated in compile time, and the other operand is an undistributed vector

Uncertain distribution of operands

Warnings produced when the compiler can't check the distribution of operands. As example, when one of operands of binary operator is distributed over the (sub)network which size can't be evaluated in compile time (default).

Location or usage of statements

Warnings about the location or usage of statements (default).

Declaration or usage of statements

Warnings about the declaration or usage of labels

Arguments of function or network types

Warnings regarding the declaration/usage of formal parameters and arguments of functions or network types

 

C tab

The same for both file and build settings

You can choose one of the following categories from the Category dropdown list:

 

General

You can choose warning level and optimizations level, as well as specify preprocessor definitions

Code generation

You can specify the processor, for which C code will be optimized by the compiler, and structure member alignment

Optimizations

You can either specify optimization the C compiler will do or disable all optimization

Preprocessor

You can specify symbols you want to define as well as symbols you want to undefine. Also you can specify additional include directories.

 

The options that can be specified on this tab affect C files only.

These options control the number of warning messages produced by the compiler. If you choose the General category, you can choose one of these options from the Warning level dropdown list.

 

None

Turns off all warning messages.

Level 1

Displays severe warning messages. This is the default.

Level 2

Displays a less-severe level of warning message than level 1.

Level 3

Displays less-severe warnings than level 2, such as warnings about function calls that precede their function prototypes. Level 3 is the most sensitive warning level recommended for production purposes.

Level 4

Displays informational warnings, which in most cases can be safely ignored. Level 4 should be used occasionally to provide "lint" level warnings and is not recommended as your usual warning level setting.

Warnings As Errors

Treats all warnings as errors. If there are any warning messages, an error message is emitted and compilation continues.

 

The Optimizations options determine how the C compiler fine-tunes the performance of your program. Four of the five optimization categories (Default, Disable (Debug), Maximize Speed, and Minimize Size) in the Optimizations drop-down list box in the Optimizations category require no further optimization on your part. If you select the fifth optimization category, Customize, you can set specific optimizations using the selections in the Optimizations list box.

 

Minimize Size

Creates the smallest code in the majority of cases.

Maximize Speed

Creates the fastest code in the majority of cases.

Assume No Aliasing

Tells the compiler that your program does not use aliasing. An alias is a name that refers to a memory location that is already referred to by a different name. Using this option allows the compiler to apply optimizations it couldn’t otherwise use, such as storing variables in registers and performing loop optimizations.

Assume Aliasing Across Function Calls

Tells the compiler that no aliasing occurs within function bodies but might occur across function calls. After each function call, pointer variables must be reloaded from memory.

Global Optimizations

Provides local and global optimizations, automatic-register allocation, and loop optimization.

Disable (Debug)

Turns off all optimizations in the program and speeds compilation. This option simplifies debugging because it suppresses code movement.

Generate Intrinsic Functions

Replaces some function calls with intrinsic or otherwise special forms of the function that help your application run faster. Programs that use intrinsic functions are faster because they do not have the overhead of function calls, but may be larger because of the additional code created.

Improve Float Consistency

Improves the consistency of floating-point tests for equality and inequality by disabling optimizations that could change the precision of floating-point calculations.

Favor Small Code

Minimizes the size of .EXE files by instructing the compiler to favor size over speed. The compiler can reduce many C constructs to functionally similar sequences of machine code. Occasionally these differences offer trade-offs of size versus speed. If you do not select this option, code may be larger and may be faster.

Favor Fast Code; Default

Maximizes the speed of .EXE files by instructing the compiler to favor speed over size. The compiler can reduce many C constructs to functionally similar sequences of machine code. Occasionally these differences offer trade-offs of size versus speed.

Frame-Pointer Omission

Suppresses creation of frame pointers on the call stack. This option speeds function calls, because no frame pointers need to be set up and removed. It also frees one more register, x86 Specific —>EBP on the Intel 386 (or later), END x86 Specific for storing frequently used variables and subexpressions.

Full Optimization

Combines optimizing options to produce the fastest possible program.

 

Link tab

For build settings only

Linker is a 32-bit tool that links object files and libraries to create a 32-bit executable.

On the Link tab you can choose one of the following categories from the Categories dropdown list:

 

General

You can specify name of output file for a build and libraries that are necessary for building this file. Also you can specify whether debug information will be generated or not.

Input

You can specify libraries to be used when building the output file, libraries to be ignored when building the output file, symbols to add to the symbol table and additional library path.

Output

In the Reserve text box you can specify the total stack allocation in virtual memory. The optional value specified in the Commit text box is subject to interpretation by the operating system. A higher commit value saves time when the application needs more stack space, but increases the memory requirements and possibly the startup time. Specify the reserve and commit values in decimal or C-language notation. The Base Address option sets a base address for the program, overriding the default location for an .EXE file (at 0x400000).

 

See also:

Virtual Parallel Machines overview