IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

fortc - Online nel cloud

Esegui fortc nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando fortc che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici postazioni di lavoro online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


fortc - Utilità Unidata per generare codice C compatibile con fortran

SINOSSI


forte [-l LibDir] [-O OpSys] filetto

DESCRIZIONE


forte Legge il codice C da `filetto', lo trasforma in codice compatibile con FORTRAN e poi
scrive il risultato sullo standard output. La trasformazione dipende dal sistema operativo
perché non ci sono standard in questa materia.

Il sistema operativo di destinazione può essere specificato in diversi modi. Se il `-O'opzione è
dato, viene utilizzato il sistema operativo specificato dal suo argomento; altrimenti, se il
variabile ambientale `OS' esiste, quindi il sistema operativo specificato dal suo valore è
Usato; in caso contrario, il sistema operativo predefinito, determinato al momento dell'installazione, è
Usato.

Nomi globali che non sono definizioni di funzioni ma che devono essere accessibili da entrambi C
e FORTRAN devono essere racchiusi tra `NOME_FC()'macro:

extern int FC_NAME(foo)(void); /* Funzione FORTRAN */

struttura esterna {
galleggiante f;
int i;
} FC_NAME(comblk); /* Blocco comune FORTRAN */

cfoo()
{
return FC_NAME(pippo)(); /* chiama la funzione FORTRAN */
}

Le funzioni C che devono essere chiamate da FORTRAN sono scritte come segue:

int
/*FORTRAN*/
pippo (
percorso del carattere, /* nome del file del nuovo file */
importo reale, /* importo da frodare */
doubleprecision dbl, /* ammonta a tizzle di */
void funzione errf, /* routine di errore */
intero rcode /* ha restituito il codice di errore */)
{
...

o, equivalentemente,

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

I punti da notare per iscritto funzioni compatibili con FORTRAN sono:

1. Le funzioni da trasformare sono contrassegnate da un procedimento `/*FORTRAN*/' commento, che
deve apparire sulla riga prima del nome della funzione. Qualsiasi dichiarazione di tipo restituito deve
procedere con il commento.

2. I parametri formali devono essere dichiarati tra parentesi di funzione ed essere separati da
virgole.

3. I parametri formali sono limitati ai seguenti tipi:

carattere or carattere*
Per variabili carattere Fortran.

doppia precisione or Doppio*"
Per valori a virgola mobile a precisione doppia.

di rose or galleggiante*
Per valori a virgola mobile a precisione singola.

numero intero or int *
Per valori interi.

Digitare function Nome or Digitare (*Nome)()
Per le funzioni che restituiscono il tipo `Digitare'.

4. Non deve esserci nulla di importante dopo la parentesi graffa di apertura, `{', e sulla stessa riga.

Le funzioni dovrebbero essere scritte usando variabili con gli stessi nomi del formale
parametri e con la stessa semantica. Nel caso di parametri formali di tipo
`carattere' (cioè variabili di carattere Fortran), esisterà una variabile con lo stesso nome
e sarà del tipo `carattere*'. Inoltre, per ogni argomento variabile di carattere, un local
verrà creata una variabile di tipo integrale e il suo valore sarà la dimensione dell'associato
variabile-carattere. Il nome di questa variabile sarà il nome dell'associato
variabile carattere con "_len" aggiunto (es. "percorso_len"). Queste variabili di lunghezza possono
essere utilizzato nella funzione proprio come qualsiasi altra variabile.

Ad esempio, sotto SunOS la funzione precedente diventerebbe (se è contenuta nel
file `foo.src'):

#riga 1 "pippo.src"
int
#riga 2 "pippo.src"
foo_(percorso, importo, errf, rcode, percorso_len)
char *percorso;
int percorso_len;
float *importo;
vuoto (*errf)();
int *codice;
{
#riga 9 "pippo.src"

Si noti che 1) sono state aggiunte le direttive della linea del preprocessore; 2) il nome della funzione è stato
suffisso con un trattino basso; e 3) un parametro formale, `percorso_len', è stato creato.

Sotto UNICOS, lo stesso file diventerebbe

#includere
#riga 1 "pippo.src"
int
#riga 2 "pippo.src"
FOO(percorso, importo, errf, rcode)
_fcd percorso con nome;
float *importo;
vuoto (*errf)();
int *codice;
{
char *percorso = _fcdtocp (percorso);
percorso_len non firmato = _fcdlen (percorso);
#riga 9 "pippo.src"

Nota, in particolare, l'ulteriore "#include" ' e la creazione e
inizializzazione delle variabili locali `pathname' e `percorso_len'.

Questa utilità è implementata come script e utilizza le utilità fornite dal sistema sete(1) e
m4(1).

VERSIONI


-L LibDir"
Definisce la directory contenente i file della libreria `fortc'. L'impostazione predefinita è
determinato al momento dell'installazione.

-O OpSys
Definisce il sistema operativo come OpSys. I valori noti includono "aix", "convexos",
`domainos', `hpux', `irix', `msoft', `next-absoft', `newsos', `sunos', `ultrix',
"unicos" e "vms". Per consentire una maggiore flessibilità, i valori noti possono avere
qualsiasi suffisso (es. `sunos_4.1').

AMBIENTE


OS Definisce il sistema operativo se l'opzione `-O' non è specificata. Valori conosciuti
sono uguali a -O opzione.

Usa Fortc online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

Comandi Linux

Ad