Este é o comando mpiCC.lam que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
mpicc, mpiCC / mpic ++ - Compilar programas LAM / MPI C / C ++.
SINOPSE
mpicc [-showme | -showme: compile | -showme: link] ...
mpiCC [-showme | -showme: compile | -showme: link] ...
mpic ++ [-showme | -showme: compile | -showme: link] ...
OPÇÕES
-mostre-me
Não invoca o compilador C / C ++ subjacente. Em vez disso, mostra a linha de comando
que seria executado para compilar o programa C / C ++.
-showme: compile
Não invoca o compilador C / C ++ subjacente. Em vez disso, mostra o compilador
sinalizadores que seriam fornecidos ao compilador C / C ++.
-showme: link
Não invoca o compilador C / C ++ subjacente. Em vez disso, mostra os sinalizadores do linker
que seria fornecido ao compilador C / C ++.
See cc(1) e CC(1) (ou quaisquer que sejam seus compiladores C / C ++ subjacentes) para todos os outros
opções.
DESCRIÇÃO
mpcc e mpiCC (mpic ++ é sinônimo de mpiCC fornecido para nomes de arquivo que não suportam
nomes de arquivo com distinção entre maiúsculas e minúsculas) são wrappers convenientes para o C e C ++ nativo local
compiladores. A tradução de um programa LAM requer a ligação do LAM específico
bibliotecas que podem não residir em um dos diretórios de pesquisa padrão de ld(1). Isto
também muitas vezes requer a inclusão de arquivos de cabeçalho que também podem não ser encontrados em um padrão
localização. mpcc passa seus argumentos para o compilador C nativo local junto com o -I, -L
e opções -l exigidas pelos programas LAM. Isso inclui todas as opções necessárias para ROMIO
e / ou suporte a ligações C ++ (se o suporte ROMIO / C ++ foi incluído quando o LAM foi compilado).
mpiCC (e portanto mpic ++) é semelhante, mas invoca o compilador C ++ nativo.
A Equipe LAM discordaram incentiva o uso mpcc e mpiCC em vez de tentar conectar-se a
as bibliotecas LAM manualmente. Isso permite que a implementação específica do LAM mude
sem forçar mudanças nas diretivas do linker nos Makefiles dos usuários (o conjunto específico de
bibliotecas LAM subjacentes já mudaram várias vezes e provavelmente mudarão novamente
em versões futuras).
De fato, desde mpcc/mpiCC são wrappers muito finos em cima de um compilador subjacente,
são muito, muito poucos motivos convincentes não usar mpcc/mpiCC. Quando não é possível
usar mpcc/mpiCC, -showme: compile e -showme: link argumentos devem ser usados em seu lugar.
Por exemplo:
shell $ cc -c file1.c `mpicc -showme: compile`
shell $ cc -c file2.c `mpicc -showme: compile`
shell $ cc file1.o file2.o `mpicc -showme: link` -o my_mpi_program
MEIO AMBIENTE VARIÁVEIS
Por padrão, o mpcc usa o compilador C que foi selecionado quando o LAM foi configurado (com o
--with-cc sinalizador para ./configure, ou definindo a variável de ambiente CC antes
./configure foi invocado) como o compilador C nativo local, mas isso pode ser substituído pelo
Variável de ambiente LAMMPICC (um nome mais antigo para esta variável de ambiente é LAMHCC -
isso também ainda funciona, mas seu uso está obsoleto).
Da mesma forma, mpiCC usa o compilador C ++ que foi selecionado quando o LAM foi configurado (com o
--with-cpp sinalizador para ./configure, ou definindo a variável de ambiente CXX antes de invocar
./configure) por padrão, mas pode ser substituído pela variável de ambiente LAMMPICXX
(um nome mais antigo para esta variável de ambiente é LAMHCP - isso também funciona, mas é
o uso está obsoleto).
Se a variável de ambiente LAMHOME está definido, mpcc e mpiCC usará seu valor como o
localização do diretório de instalação do LAM em vez do valor que foi compilado em
mpcc/mpiCC. Isso significa que mpcc/mpiCC usará o valor de LAMHOME como base para
crie os argumentos -I e -L que são passados para o compilador de nível inferior, não o
diretório de instalação que foi fornecido quando mpcc/mpiCC foram criados. Isso é quase
sempre uma má ideia.
O uso de LAMHOME é desencorajado, exceto para alguns casos raros de configuração em estranhamente
sites em rede (neste caso, o administrador do sistema provavelmente deve configurar isso), e
para usuários avançados com várias instalações LAM / MPI que realmente sabem o que são
fazendo; se o LAMHOME variável de ambiente é deixada inadvertidamente definida, pode levar a
tremenda confusão do usuário. Por exemplo, se LAMHOME aponta para a instalação A do LAM, mas o
usuário PATH aponta para a instalação B do LAM, então mesmo que B mpcc será usado, o
o programa do usuário será compilado e vinculado à instalação do LAM A.
O LAMHOME a variável de ambiente só é deixada no local para compatibilidade com versões anteriores;
não é necessário para o funcionamento normal do LAM / MPI. A equipe do LAM desencoraja o uso de
da LAMHOME variável de ambiente e, em vez disso, defende simplesmente definir o PATH devidamente
para alternar entre várias implementações de LAM / MPI.
NOTAS
As versões anteriores do LAM encorajavam o uso de HCC e profissional de saúde para compilar LAM e / ou MPI C e
Aplicativos C ++, respectivamente. Em versões muito antigas do LAM, HCC e profissional de saúde não
adicionar automaticamente -lmpi para a linha de comando. HCC e profissional de saúde eventualmente foram descontinuados e
substituído por mpcc e mpiCC (ou mpic ++ em sistemas de arquivos que não diferenciam maiúsculas de minúsculas). o
executáveis HCC e profissional de saúde agora são links simplesmente simbólicos para mpcc e mpic ++, Respectivamente,
apenas no caso de haver alguém por aí que ainda use esses nomes. Deve ser inofensivo
passar no adicional -lmpi; mpcc e mpic ++ deve silenciosamente fazer a coisa certa (apenas
link na biblioteca MPI uma vez).
Use mpiCC.lam online usando serviços onworks.net