Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

Invoking the Intel® C++ Compiler

$
0
0

Requirements Before Using the Command Line on Windows*

You typically do not need to set any environment variables prior to using the command line. Each of the Visual Studio* IDE variations has its own Intel® Compiler command-line window, available from the program folder for your Intel product. For more information, see Using the Intel® Command-Line Window.

If you would like to use a custom shell instead, the Intel® C++ Compiler installation includes a batch script that you can run to set environment variables. For more information, see Using the compilervars File to Specify Location of Components.

Requirements Before Using the Command Line on Linux* and OS X*

You need to set some environment variables to specify locations for the various components prior to using the command line. The Intel® C++ Compiler installation includes a batch file for setting environment variables that can run in the terminal window. For more information, see Using the compilervars File to Specify Location of Components.

Using the Intel® C++ Compiler from the Command Line

Linux OS*:

You can invoke the Intel® C++ Compiler for Linux OS on the command line by using either icc to compile C source files r icpc to compile C++ source files.

  • When you invoke the compiler with icc, the compiler builds C source files using C libraries and C include files. If you use icc with a C++ source file, it is compiled as a C++ file. Use icc to link C object files.

  • When you invoke the compiler with icpc the compiler builds C++ source files using C++ libraries and C++ include files. If you use icpc with a C source file, it is compiled as a C++ file. Use icpc to link C++ object files.

The icc or icpc command does the following:

  • Compiles and links the input source file(s).

  • Produces one executable file, a.out, in the current directory.

OS X*:

You can invoke the Intel® C++ Compiler on the command line using either icc/icl to compile C source files or icpc/icl++ to compile C++ source files.

  • When you invoke the compiler with icc, the compiler builds C source files using C libraries and C include files. If you use icc with a C++ source file, it is compiled as a C++ file. Use icc to link C object files.

  • When you invoke the compiler with icpc the compiler builds C++ source files using C++ libraries and C++ include files (libc++ library is used by default). If you use icpc with a C source file, it is compiled as a C++ file. Use icpc to link C++ object files.

  • When you invoke the compiler with icl, the compiler builds C++ source files using clang C libraries and C include files. If you use icl with a C++ source file, it is compiled as a C++ file. Use icl to link C object files.

  • When you invoke the compiler with icl++ the compiler builds C++ source files using C++ libraries and C++ include files (libc++ library is used by default). If you use this command with a C source file, the source file is compiled as a C++ file. Use icl++ to link C++ object files.

The icc/icl or the icpc/icl++ command does the following:

  • Compiles and links the input source file(s).

  • Produces one executable file, a.out, in the current directory.

Windows*:

You can invoke the Intel® C++ Compiler on the command line using the icl command. This command:

  • Compiles and links the input source file(s).

  • Produces object file(s) and assigns the names of the respective source file(s), but with a .obj extension.

  • Produces one executable file and assigns to it the name of the first input file on the command line, but with a .exe extension.

  • Places all the files in the current directory.

Because the driver calls other software components, error messages may be returned by these other components. For instance, the linker may return a message if it cannot resolve a global reference. The watch option can help clarify which component is generating the error.

Command-line Syntax

When you invoke the Intel® C++ Compiler, the syntax is:

// (Linux* and OS X*)
{icc|icpc} [options] file1 [file2 . . .]
// (OS X*)
{icl|icl++} [options] file1 [file2 . . .]
// (Windows*)
icl [options] file1 [file2 . . .][/link link_options]

Argument

Description

options

Indicates one or more command-line options. On Linux* and OS X* systems, the compiler recognizes one or more letters preceded by a hyphen (-). On Windows*, options are preceded by a slash (/). This includes linker options.

Options are not required when invoking the compiler. The default behavior of the compiler implies that some options are ON by default when invoking compiler.

Note

The compiler recognizes Language Extensions for Offloading in the source program by default and builds a heterogeneous binary that runs on both the target and host when any are present. If your program includes these language extensions and you do not want to build a heterogeneous binary, specify the negative form of the [Q]offload compiler option. For more information, see Programming for Intel® MIC Architecture: Heterogeneous Programming and the [Q]offload compiler option.

file1, file2 . . .

Indicates one or more files to be processed by the compiler. You can specify more than one file, using space as a delimiter for multiple files.

/link (Windows*)

All options following /link are passed to the linker. Compiler options must precede link if they are not to be passed to the linker.

Other Methods for using the Command Line Window to Invoke the Compiler

  • Using makefiles from the Command Line: Use makefiles to specify a number of files with various paths and to save this information for multiple compilations. For more information on using makefiles, see Using Makefiles to Compile Your Application.

  • Using a batch file from the Command Line: Use a .bat file to consistently execute the compiler with a desired set of options instead of retyping the command each time you need to recompile.

Inglés

Viewing all articles
Browse latest Browse all 1616

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>