Bonjour
EN fortran 77 comment créer une subroutine dans un fichier et faire appel à cette routine dans le programme principale qui se trouve dans un autre fichier?
Merci
Bonjour
EN fortran 77 comment créer une subroutine dans un fichier et faire appel à cette routine dans le programme principale qui se trouve dans un autre fichier?
Merci
Ce n'est pas une question de Fortran 77 (par rapport à une autre version), c'est une question de « linker ».
Que l'appelé soit dans le même fichier que l'appelant ou non, il n'y a aucune différence de source.
À la compilation, tu dois généralement compiler chaque fichier en objet, et ensuite les assembler dans un exécutable. La syntaxe varie par compilateur et par O/S. Généralement, tu utilises l'option «-c» pour dire au compilateur de compiler le source en objet, mais de ne pas produire d'exécutable. Tu répète pour chaque source. Tu lance une dernière fois le compilateur avec la liste des objets, sans l'option «-c», pour qu'il assemble les objets et produise un exécutable. Par exemple :
f77 -c Source1.f
f77 -c Source2.f
f77 *.obj -o Prog.exe
Le tout est bien traité par les makes.
Pour un programme très simple, il est possible de simplifier avec des masques de fichier, mais tu dois avoir un seul projet par répertoire :
f77 *.f
Finalement, si tu utilise un IDE, tu dois simplement indiquer les divers fichiers sources contenus dans ton projet.
Bonjour,
Merci pour ta réponse. Je possède effectivement un IDE (je travaille avec FORCE2 un compilateur gratuit..) mais je n'arrive pas à trouver la commande qui permet d'indiquer les divers fichiers sources contenus dans mon projet..
Est ce que vous auriez ça sous la main?
Merci
oui, c de la merde, en particulier pour les étudiants: mes élèves n'utilisait que ça et comme colle je leur ai fait faire des "exercice" d'édition de liens et là tu te rend vite compte qu'il ne save pas ce que c'est...
pour force2 il me semble qu'il faut créer un "projet" qui rassemble toute les sources et le compilo se débrouille, mais personne sais comment.
il faut fouiller dans les options du projet pour lui dire quel fichier compiler avant quel autre...
Partager