The required argument consists of whatever follows immediately within the same command-line token, else is the whole of the next command-line token if this token does not begin with a hyphen or forward slash.

The argument is formally numeric. Values outside the range 1 to 65536 inclusive are coerced to 1, with a warning (D4014).


The /MP option


The sole action of the /MP option is to direct CL to enable multi-processing for the execution of other compiler modules.

The required number tells CL how many threads to create for the multi-processing. If number is 1, then multi-processing is disabled. There is no value in having more threads than there are input files. If there are not at least two input files, then multi-processing is disabled. If number exceeds the number of input files, then number is coerced to equal to the number of input files. All these cases of disabling or reconfiguring are handled silently.

The /E, /EP and /Yc options disable multi-processing, but with a warning (D4030).

The implementation details of multi-processing are presently beyond the scope of these notes.