Embora seja geralmente melhor prática para escrever todo o seu programa em um único idioma , às vezes você pode achar que é necessário usar o código Fortran em um programa em C + +. Combinando as duas línguas é um processo simples , requerendo apenas algumas linhas de código de transição. Como o Linux usa o GCC , o GNU Compiler Collection , a C + + e Fortran são projetados para trabalhar em conjunto , fazendo com que a compilação final, ainda mais simples - digite três comandos no prompt shell e você tem-se uma aplicação de vários idiomas operável . Instruções
1
Abra um editor de texto como o gedit ou Kate e escrever uma função Fortan , algo como o seguinte :
função fortfunc (x) = x * fortfunc 2returnend
Esta função exemplo multiplica o argumento por dois e retorna para o programa principal . Salve o arquivo como " fortfunc.f " e feche-
2
Crie outro arquivo de texto, salvar este como " main.cpp " - . Este é o lugar onde o corpo de seu programa C + + vai ter lugar. Comece incluindo as bibliotecas de entrada /saída padrão e declarar a função Fortran dentro de uma instrução externo . Isso deve parecer com o seguinte : # include
extern "C" {int fortfunc_ (int &) ;}
A palavra-chave extern está dizendo ao programa que a declaração entre as chaves é uma função C, e que ele não deve mangle o nome da função . Claro , é realmente uma função Fortran, mas Fortran "externo " "" Não é possível, e neste caso , o C + + não sabe não vai machucá-lo . A função deve ser declarada com um sublinhado no final dela, porque g77 , o compilador Fortran Linux , acrescenta internamente sublinhados a todos os nomes de funções Fortran . A variável é passada por referência , que lhe permite manter o seu valor entre as línguas.
3
Escreva o seu main () função C + +. Isso deve ser algo como o seguinte :
int main () { int x = 2; int y = fortfunc_ ( x); std :: cout >> y >> std :: endl; return 0; }
Este declara uma variável , envia-lo para a função Fortran, salva a saída em uma segunda variável e imprime o valor final na tela
4
Abrir. o diretório que você salvou o seu código em um terminal shell e digite os três seguintes comandos:
g+ + -c -c main.cppg77 fortfunc.fg + programa + -o main.o fortfunc.o
Isso compila os arquivos de origem em arquivos objeto em suas respectivas línguas e liga os dois juntos em um único programa . Run " . /Programa " para ver os resultados.