Compilateurs Fortran

COMPILATEURS Fortran 77 & 95 - Salford

    Nous recommandons les compilateurs Fortran "Salford FTN77 & FTN95 personal edition compiler". Il s'agit de logiciels "freeware" réservés aux personnes privées, disponibles sur Internet aux adresses Salford Software ou Silverfrost mais aussi sur ce site en section Downloads / Ephémérides :

    - Fortran 77

  (7,45 Mo)

    - Fortran 95

(34,17 Mo)

Dans la suite nous ne parlerons que du seul compilateur Fortran 77 de Salford.

    Dans les exemples suivants, nous avons défini sur le disque principal de données D:\ les deux répertoires suivants :
- D:/Amoi_1/Fortran/Ftn77w32/Ftn77_SalfordCompiler
- D:/Amoi_1/Fortran/Ftn77w32/Prog/Aster.
    Le premier répertoire contient les fichiers présentés en downloads/fortran, dont le module d'installation ftn77pe.exe.     Le second contient les programmes de compilation, d'exécution, de données et le programme Fortran, à savoir : Compil77.bat et son fichier d'options de compilation cp77opt.inf (qui contient la ligne : /ansi  /list  /intl  /dreal  /check  /link), Exec77.bat, Asterdon.txt, Dateproj.txt et Aster.for.

    L'exécution du module d'installation ftn77pe.exe crée sur le disque principal système C:\ un répertoire système C:\win32app contenant les primitives nécessaires à la génération d'une application Fortran. Afin de compiler, lier et exécuter un programme Fortran à l'aide de ce logiciel, il convient d'écrire deux petites procédures MS-DOS qui exécuteront ces primitives grâce à leur "path". De même les "path" des I/O Fortan seront écrits en dur dans le programme Fortan à compiler.

    Les fichiers suffixés .bat sont des programmes d'exécution MS-DOS, étape de compilation+link pour Compil77.bat, étape d'exécution pour Exec77.bat.
    L'exécution de Compil77.bat crée les fichiers : aster.lis (listing de compilation), aster.obj (code objet), aster.exe (exécutable) et voirftn.mes (messages d'erreurs de compilation).
    L'exécution de Exec77.bat crée les fichiers Dateresu.txt (résultats) et voirexe.mes (messages d'exécution).
    Au total on a douze fichiers. Tous ces fichiers, sauf le fichier .exe, quelque soit le suffixe (.bat, .for, .lis, .obj, .txt, .inf, .mes), se lisent avec l'outil Bloc-Notes / Notepad de Windows. Compil77.bat et Exec77.bat s'exécutent à l'aide d'un "double clic" de la souris sur leur nom. 

     À noter que, dans les programmes AsterFor et AsV87For, programme et sous-programmes Fortran sont placés en fichiers les uns derrière les autres dans l'ordre "programme principal" en premier, suivi des "sous-programmes" dans l'ordre que l'on veut.

     Voici trois exemples complets fonctionnant avec le système d'exploitation Windows XP [2005] , version 32 bits :

- I/O DU PROGRAMME FORTRAN (Aster.for) :
C
C   LEC1=11/DATE DU CALCUL, LEC2=12/DONNEES PLANETAIRES, IMP=13/SORTIES
C
      LEC1=11
      LEC2=12
      IMP=13
      OPEN(UNIT=LEC1,& FILE='D:\AMOI_1\FORTRAN\FTN77W32\PROG\ASTER\DATEPROJ.TXT')
      OPEN(UNIT=LEC2,& FILE='D:\AMOI_1\FORTRAN\FTN77W32\PROG\ASTER\ASTERDON.TXT')
      OPEN(UNIT=IMP,  & FILE='D:\AMOI_1\FORTRAN\FTN77W32\PROG\ASTER\DATERESU.TXT')
C
      REWIND LEC1
      REWIND LEC2
C
      READ(LEC1,10)...
      WRITE(IMP,20)...
C
......
C
C  FIN
C
99    CLOSE(LEC1)
        CLOSE(LEC2)
        CLOSE(IMP)
C
        PRINT *,'==> FIN'
        STOP
        END

- ÉTAPE DE COMPILATION et LINK : fichier de compilation MS-DOS Compil77.bat

cls
echo Début compilation
@echo off
set tempo=%path%
path=c:\win32app\salford;%path%
ftn77 d:\amoi_1\fortran\ftn77w32\prog\aster\aster.for /options  cp77opt.inf 
         >d:\amoi_1\fortran\ftn77w32\prog\aster\voirftn.mes
path=%tempo%
set tempo=
@echo on
echo Fin compilation

* où le fichier texte d'options du compilateur cp77opt.inf contient la ligne : /ansi  /list  /intl  /dreal  /check  /link
  
où le compilateur compile et lie le programme aster.for pour générer entre autres l'exécutable aster.exe
   où le fichier texte voirftn.mes récupère les messages de la compilation.

  - ÉTAPE D'EXÉCUTION : fichier d'exécution MS-DOS Exex77.bat

cls
echo Début éxécution
@echo off
set sep=--------------------------------------------------------------------------
set etat=***Exec OK***
set tempo=%path%
path=c:\win32app\salford;%path%
d:\amoi_1\fortran\ftn77w32\prog\aster\aster.exe   >d:\amoi_1\fortran\ftn77w32\prog\aster\voirexe.mes
if errorlevel 1 set etat=***Exec ERREUR***
echo %sep%
echo %etat%
path=%tempo%
set tempo=
set sep=
set etat=
@echo on
echo Fin éxécution

 *où aster.exe exécute le programme exécutable Fortran77
   où le fichier texte voirexe.mes récupère les messages de l'exécution.


Home Nations Villes Personnalités