# D

Defines a macro name that can be associated with an optional value.

## Syntax

Linux: | -D name[=value]

macOS: | -D name[=value]

Windows: | /D name[=value]

## Arguments

name | Is the name of the macro.
value | Is an optional integer or an optional character string delimited by double quotes; for example, D name=string.

## Default

OFF | Only default symbols or macros are defined.

## Description

Defines a macro name that can be associated with an optional value. This option is equivalent to a #define preprocessor directive.

If a value is not specified, name is defined as "1".

## IDE Equivalent

Visual Studio: Preprocessor > Preprocessor Definitions

Eclipse: Preprocessor > Preprocessor Definitions

Xcode: Preprocessor > Preprocessor Definitions

## Alternate Options

None

## Example

To define a macro called SIZE with the value 100, enter the following command:

On Windows* systems:

    icl /DSIZE=100 prog1.cpp

On Linux* systems:

    icpc -DSIZE=100 prog1.cpp

On macOS* systems:

    icpc -DSIZE=100 prog1.cpp

If you define a macro, but do not assign a value, the compiler defaults to 1 for the value of the macro.

Parent topic: Preprocessor Options

## See Also

Additional Predefined Macros