# mpicc

Compiles and links MPI programs written in C

## Description

This command can be used to compile and link MPI programs written in C. It provides the options and any special libraries that are needed to compile and link MPI programs.

It is important to use this command (or a `Makefile` processed with `mpireconfig`) particularly when linking programs, as it provides the necessary libraries. It can also simplify the use of the MPE profiling libraries, through the use of the `-mpilog`, `-mpitrace`, and `-mpianim` commands.

## Command line arguments

| -mpilog | Build version that generate MPE log files
| -mpitrace | Build version that generates traces
| -mpianim | Build version that generates real-time animation
| -show | Show the commands that would be used without runnning them
| -help | Give short help
| -echo | Show exactly what this program is doing. This option should normally not be used.
| others | are passed to the compiler or linker. For example, `-c` causes files to be compiled, `-g` selects compilation with debugging on most systems, and `-o name` causes linking with the output executable given the name `name`.

## Environment Variables

The environment variables `MPICH_CC` and `MPICH_CLINKER` may be used to select different C compiler and linker. Note that since MPICH is built with a particular C and Fortran compiler, change the compilers used can cause problems. Use this only if you could intermix code compiled with the different compilers.

## Examples

To compile a single file `foo.c`, use

       mpicc -c foo.c

To link the output and make an executable, use

       mpicc -o foo foo.o

Combining compilation and linking in a single command

       mpicc -o foo foo.c

is a convenient way to build simple programs.

## See Also

mpif77, mpireconfig

Location:/home/MPI/mansrc/commands