AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

fortc - En ligne dans le Cloud

Exécutez fortc dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande fortc qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


fortc - Utilitaire Unidata pour générer du code C compatible fortran

SYNOPSIS


forc [-L RépLib] [-O OpérationsSys] filet

DESCRIPTION


forc Lit le code C à partir de `filet', le transforme en code compatible FORTRAN, puis
écrit le résultat sur la sortie standard. La transformation dépend du système d'exploitation
car il n'y a pas de normes en la matière.

Le système d'exploitation cible peut être spécifié de plusieurs manières. Si le `-O' l'option est
donné, alors le système d'exploitation spécifié par son argument est utilisé ; sinon, si le
variable d'environnement `OS' existe, alors le système d'exploitation spécifié par sa valeur est
utilisé; sinon, le système d'exploitation par défaut -- déterminé au moment de l'installation -- est
utilisé.

Les noms globaux qui ne sont pas des définitions de fonction mais qui doivent être accessibles à la fois depuis le C
et FORTRAN doivent être entourés par le `FC_NAME()' macro :

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

structure externe {
flotteur f;
int i;
} FC_NAME(comblk); /* Bloc commun FORTRAN */

cfo ()
{
return FC_NAME(foo)(); /* appeler la fonction FORTRAN */
}

Les fonctions C qui doivent être appelées depuis le FORTRAN s'écrivent comme suit :

int
/*FORTRAN*/
fou(
chemin de caractères, /* nom de fichier du nouveau fichier */
montant réel, /* montant à supprimer par */
dbl double précision, /* montant à tizzle par */
fonction vide errf, /* routine d'erreur */
entier rcode /* a renvoyé le code d'erreur */)
{


ou équivalent,

int
/*FORTRAN*/
foo(char* chemin d'accès, float* montant, double* dbl,
void (*errf)(), int* rcode)
{


Les points à noter dans l'écriture des fonctions compatibles FORTRAN sont :

1. Les fonctions à transformer sont marquées par une procédure `/*FORTRAN*/' commentaire, qui
doit apparaître sur la ligne précédant le nom de la fonction. Toute déclaration de type retour doit
continuer le commentaire.

2. Les paramètres formels doivent être déclarés entre parenthèses de fonction et séparés par
virgules.

3. Les paramètres formels sont limités aux types suivants :

caractère or carboniser*
Pour les variables de caractère Fortran.

double precision or double*"
Pour les valeurs à virgule flottante double précision.

réal or flotter*
Pour les valeurs à virgule flottante simple précision.

entier or int *
Pour les valeurs entières.

type fonction prénom or type (*prénom)()
Pour les fonctions renvoyant le type `type'.

4. Il ne doit rien y avoir d'important après l'accolade ouvrante, `{', et sur la même ligne.

Les fonctions doivent être écrites en utilisant des variables avec les mêmes noms que le formel
paramètres, et avec la même sémantique. Dans le cas de paramètres formels de type
`caractère' (c'est-à-dire les variables de caractères Fortran), une variable avec le même nom existera
et sera de type `carboniser*'. De plus, pour chaque argument de variable de caractère, un
variable de type intégral sera créée et sa valeur sera la taille de la variable associée
variable de caractère. Le nom de cette variable sera le nom de la variable associée
variable de caractère avec "_len" ajouté (par exemple "nom_chemin_len"). Ces variables de longueur peuvent
être utilisé dans la fonction comme n'importe quelle autre variable.

Par exemple, sous SunOS, la fonction précédente deviendrait (si elle est contenue dans le
fichier `foo.src'):

#ligne 1 "foo.src"
entier non signé
#ligne 2 "foo.src"
foo_(chemin, montant, errf, rcode, chemin_len)
char *chemin d'accès ;
int nom_chemin_len ;
flottant *montant ;
vide (*errf)();
entier *rcode ;
{
#ligne 9 "foo.src"

Notez que 1) des directives de ligne de préprocesseur ont été ajoutées ; 2) le nom de la fonction a été
suffixé par un trait de soulignement ; et 3) un paramètre formel, `nom_chemin_len', a été créé.

Sous UNICOS, le même fichier deviendrait

#comprendre
#ligne 1 "foo.src"
entier non signé
#ligne 2 "foo.src"
FOO(chemin, montant, errf, rcode)
_fcd chemin d'accès ;
flottant *montant ;
vide (*errf)();
entier *rcode ;
{
char *chemin d'accès = _fcdtocp (chemin d'accès);
pathname_len non signé = _fcdlen (pathnamed);
#ligne 9 "foo.src"

Notez, en particulier, le `#include supplémentaire ' et la création et
initialisation des variables locales `chemin d'accès' et 'nom_chemin_len'.

Cet utilitaire est implémenté sous forme de script et utilise les utilitaires fournis par le système sedde Géographie (1) et avec la
m4 (1).

OPTIONS


-L LibDir"
Définit le répertoire contenant les fichiers de la bibliothèque `fortc'. La valeur par défaut est
déterminé au moment de l'installation.

-O OpérationsSys
Définit le système d'exploitation comme OpérationsSys. Les valeurs connues incluent 'aix', 'convexos',
"domainos", "hpux", "irix", "msoft", "next-absoft", "newsos", "sunos", "ultrix",
« unicos » et « vms ». Pour permettre une plus grande flexibilité, les valeurs connues peuvent avoir
n'importe quel suffixe (par exemple `sunos_4.1').

ENVIRONNEMENT


OS Définit le système d'exploitation si l'option `-O' n'est pas spécifiée. Valeurs connues
sont les mêmes que les -O option.

Utilisez fortc en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad