IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Equivalent ERRSET VMS


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 62
    Par défaut Equivalent ERRSET VMS
    Bonjour à tous,

    Contexte :
    Depuis un projet codé en C++ sous une plateforme linux, je fais appel à une fonction en Fortran.
    J'utilise ifort (compilateur intel) pour compiler la librairie contenant ma fonction Fortran et g++ pour compiler le code en C++ et linker le tout.

    Problème :
    Je souhaite au sein de ce code Fortran avoir un appel à une fonction équivalent à ERRSET (utilisé en Fortran VMS).
    Le comportement recherché étant en cas d'exception arithmetic, d'avoir une trace dans un fichier mais que le traitement continu normalement.

    Merci d'avance pour vos idées.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 98
    Par défaut
    Salut,

    Je n'ai jamais utilisé le traitement des exceptions mais il me semble que ton problème doit trouver une solution ici :http://www.codiciel.fr/compilateur/fortran2003.pdf
    C'est un résumé des apports f2003, et si cela répond à tes attentes, tu as un cours plus complet ici :
    http://www.idris.fr/data/cours/lang/...rtran_2003.pdf

    ensuite, est-ce que ifort intègre ces fonctionnalités ?...

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 62
    Par défaut
    Après de multiples recherches j'ai réussi à obtenir le comportement suivant :
    Je positionne mon Flag FPE pour qu'une exception FPE soit levée :
    J'affecte ensuite un handler à un signal de type FPE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CALL PXFSIGACTION(SIGFPE,jaction,joaction,pxferr)
    Les signaux FPE sont bien trappés, mais quand j'arrive dans mon handler de signaux, je suis incapable de savoir quelle erreur FPE a été levée (Division par zéro, Overflow, etc ...).
    Je pourrais utiliser plutôt la fonction IEEE_HANDLER qui me permet de créer également un handler pour les exceptions FPE et avec laquelle je peux savoir quelle erreur a été levée mais le problème de cette fonction c'est que le programme se termine à la fin de la fonction handler, sans possibilité de trapper le signal en aval ...

    Si quelqu'un a une idée ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/11/2002, 09h12
  2. equivalent à explode?
    Par djridou dans le forum Langage
    Réponses: 3
    Dernier message: 28/08/2002, 11h01
  3. [Kylix] Equivalent ShellExec en CLX
    Par Anonymous dans le forum EDI
    Réponses: 7
    Dernier message: 14/08/2002, 11h55
  4. Equivalent à ExeName pour une DLL
    Par Smortex dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2002, 21h07
  5. [Kylix] equivalent winsock avec kylix
    Par Victor dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 07h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo