fortc - Online na nuvem

Este é o comando fortc 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


fortc - utilitário Unidata para gerar código C compatível com fortran

SINOPSE


forte [-EU LibDirName] [-O OpSys] lima

DESCRIÇÃO


forte Lê o código C de `lima', transforma-o em código compatível com FORTRAN, e então
grava o resultado na saída padrão. A transformação depende do sistema operacional
porque não há padrões neste assunto.

O sistema operacional de destino pode ser especificado de várias maneiras. Se o `-O'opção é
dado, então o sistema operacional especificado por seu argumento é usado; caso contrário, se o
variável ambiental `OS'existe, então o sistema operacional especificado por seu valor é
usado; caso contrário, o sistema operacional padrão - determinado no momento da instalação - é
usava.

Nomes globais que não são definições de função, mas devem ser acessíveis a partir de C
e FORTRAN deve ser incluído pelo `FC_NAME ()'macro:

externo int FC_NAME (foo) (vazio); / * Função FORTRAN * /

estrutura externa {
float f;
int i;
} FC_NAME (comblk); / * Bloco comum FORTRAN * /

cfoo ()
{
retornar FC_NAME (foo) (); / * chamar a função FORTRAN * /
}

As funções C que devem ser chamadas de FORTRAN são escritas da seguinte forma:

int
/ * FORTRAN * /
foo (
nome do caminho do caractere, / * nome do novo arquivo * /
montante real, / * montante a frobdicate por * /
doubleprecision dbl, / * quantidade a tizzle por * /
void function errf, / * rotina de erro * /
inteiro rcode / * código de erro retornado * /)
{
...

ou equivalente,

int
/ * FORTRAN * /
foo (char * pathname, float * amount, double * dbl,
void (* errf) (), int * rcode)
{
...

Os pontos a serem observados na escrita de funções compatíveis com FORTRAN são:

1. As funções a serem transformadas são marcadas por um procedimento `/ * FORTRAN * /'comentário, que
deve aparecer na linha antes do nome da função. Quaisquer declarações de tipo de retorno devem
prossiga com o comentário.

2. Os parâmetros formais devem ser declarados entre parênteses de função e separados por
vírgulas.

3. Os parâmetros formais são restritos aos seguintes tipos:

personagem or Caracteres*
Para variáveis ​​de caracteres Fortran.

dupla precisão or Duplo*"
Para valores de ponto flutuante de precisão dupla.

reais or flutuador*
Para valores de ponto flutuante de precisão única.

número inteiro or int *
Para valores inteiros.

tipo função nome or tipo (*nome) ()
Para funções que retornam tipo `tipo'.

4. Não deve haver nada importante após a chave de abertura, `{', e na mesma linha.

As funções devem ser escritas usando variáveis ​​com os mesmos nomes que o formal
parâmetros, e com a mesma semântica. No caso de parâmetros formais de tipo
`personagem'(isto é, variáveis ​​de caracteres Fortran), uma variável com o mesmo nome existirá
e será do tipo `Caracteres*'. Além disso, para cada argumento de variável de caractere, um local
variável do tipo integral será criada e seu valor será o tamanho do associado
variável de caráter. O nome desta variável será o nome do associado
variável de caráter com "_len"anexado (por exemplo"nome_caminho_len"). Essas variáveis ​​de comprimento podem
ser usado na função como qualquer outra variável.

Por exemplo, no SunOS, a função anterior se tornaria (se estiver contida no
arquivo `foo.src'):

#line 1 "foo.src"
int sem sinal
#line 2 "foo.src"
foo_ (pathname, amount, errf, rcode, pathname_len)
char * pathname;
int nome_do_caminho_len;
float * amount;
void (* errf) ();
int * rcode;
{
#line 9 "foo.src"

Observe que 1) as diretivas de linha do pré-processador foram adicionadas; 2) o nome da função foi
sufixado com um sublinhado; e 3) um parâmetro formal, `nome_caminho_len', foi criado.

No UNICOS, o mesmo arquivo se tornaria

#incluir
#line 1 "foo.src"
int sem sinal
#line 2 "foo.src"
FOO (nome do caminho, quantidade, errf, rcode)
_fcd com nome de caminho;
float * amount;
void (* errf) ();
int * rcode;
{
char * pathname = _fcdtocp (pathnamed);
pathname_len não assinado = _fcdlen (pathname);
#line 9 "foo.src"

Observe, em particular, o adicional `#include 'e a criação e
inicialização das variáveis ​​locais `pathname'e'nome_caminho_len'.

Este utilitário é implementado como um script e usa os utilitários fornecidos pelo sistema sede(1) e
m4(1).

OPÇÕES


-L LibDir "
Define o diretório que contém os arquivos da biblioteca `fortc '. O padrão é
determinado no momento da instalação.

-O OpSys
Define o sistema operacional como OpSys. Os valores conhecidos incluem `aix ',` convexos',
`domainos ',` hpux', `irix ',` msoft', `next-absoft ',` newsos', `sunos ',` ultrix',
`unicos 'e` vms'. Para permitir maior flexibilidade, os valores conhecidos podem ter
qualquer sufixo (por exemplo, `sunos_4.1 ').

MEIO AMBIENTE


OS Define o sistema operacional se a opção `-O 'não for especificada. Valores conhecidos
são iguais ao -O opção.

Use fortc online usando serviços onworks.net



Programas online mais recentes para Linux e Windows