Skip to content

Latest commit

 

History

History
41 lines (28 loc) · 2.12 KB

cl-command-files.md

File metadata and controls

41 lines (28 loc) · 2.12 KB
title description ms.date helpviewer_keywords ms.assetid
CL Command Files
The MSVC compiler lets you specify command files that contain command-line options.
07/08/2020
cl.exe compiler, command files
command files
command files, CL compiler
ec3cea06-2af0-4fe9-a94c-119c9d31b3a9

CL Command Files

A command file is a text file that contains compiler options and filenames. It supplies options you would otherwise type on the command line, or specify using the CL environment variable. CL accepts a compiler command file as an argument, either in the CL environment variable, or on the command line. Unlike either the command line or the CL environment variable, you can use multiple lines of options and filenames in a command file.

Options and filenames in a command file are processed when a command filename appears within the CL environment variable or on the command line. However, if the /link option appears in the command file, all options on the rest of the line are passed to the linker. Options in later lines in the command file, and options on the command line after the command file invocation, are still accepted as compiler options. For more information on how the order of options affects their interpretation, see Order of CL Options.

A command file must not contain the CL command. Each option must begin and end on the same line; you can't use the backslash (\) to combine an option across two lines.

A command file is specified by an at sign (@) followed by a filename. The filename can specify an absolute or relative path.

For example, if the following command is in a file named RESP:

/Ot /link LIBC.LIB

and you specify the following CL command:

CL /Ob2 @RESP MYAPP.C

the command to CL is as follows:

CL /Ob2 /Ot MYAPP.C /link LIBC.LIB

Here you can see how the command line and the command-file commands are effectively combined.

See also

MSVC compiler command-line syntax
MSVC compiler options