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

C++ Discussion :

gcc C++ fortran & exception


Sujet :

C++

  1. #1
    Membre averti Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Points : 444
    Points
    444
    Par défaut gcc C++ fortran & exception
    Bonjour,

    J'ai un code ecrit majoriterement en C++. Il fait toutefois appel à des des fonctions fortran. Certaines de ces fonctions appelant des fonctions C++ ..etc

    J'ai mis en place une gestion d'erreur via les exceptions qui fonctionne trés bien sous windows. Mais sous linux quand une exception est déclenché dans une fonction C++ qui a été appelée par le fortran, elle ne traverse pas la couche fortran et génére un signal SIGABRT qui fait cracher mon code.

    C'est un peu compliqué, tout ca, mais compilant avec gcc4.4.0 sous windows et gcc4.2.1 sous linux, je m'attendais à un comportement similaire

    Merci de votre aide si quelqu'un a une idée

  2. #2
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    `-fexceptions'
    Enable exception handling. Generates extra code needed to
    propagate exceptions. For some targets, this implies GCC will
    generate frame unwind information for all functions, which can
    produce significant data size overhead, although it does not
    affect execution. If you do not specify this option, GCC will
    enable it by default for languages like C++ which normally require
    exception handling, and disable it for languages like C that do
    not normally require it. However, you may need to enable this
    option when compiling C code that needs to interoperate properly
    with exception handlers written in C++. You may also wish to
    disable this option if you are compiling older C++ programs that
    don't use exception handling.
    Vraisemblablement necessaire pour le code fortran aussi bien que le code C.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  3. #3
    Membre averti Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Points : 444
    Points
    444
    Par défaut
    Oui j'avais bien indiqué ce flag à GCC. Plus étonnant encore j'ai recompilé mon projet sur un system linux plus ancien ou la version de GCC est la 3.2 et là ca fonctionne trés bien. Je ne pige pas....

Discussions similaires

  1. Qt creator GCC et fortran
    Par oliverjack dans le forum Fortran
    Réponses: 0
    Dernier message: 27/07/2012, 11h56
  2. probleme fortran 90 exception:access violation
    Par rijks dans le forum Fortran
    Réponses: 2
    Dernier message: 25/10/2010, 15h14
  3. [Fortran 77] IDE gcc, gfortran. Linux / Vista
    Par nyme92 dans le forum Fortran
    Réponses: 3
    Dernier message: 27/04/2009, 14h57
  4. [Fortran 77] Gestion exception
    Par Sphost dans le forum Fortran
    Réponses: 2
    Dernier message: 24/06/2008, 12h23
  5. [Kylix] gcc et kylix
    Par alexsmadja dans le forum EDI
    Réponses: 1
    Dernier message: 28/05/2002, 10h00

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