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 :

[Fortran 90] Appel de fonction C


Sujet :

Fortran

  1. #1
    Membre éclairé Avatar de Jayceblaster
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 420
    Par défaut [Fortran 90] Appel de fonction C
    Bonjour;
    je travail sous visual studio et j'ai deux librairies...une en C et une autre en fortran. Supposons que dans ma lib C j'ai cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    extern "C" int Add(int a, int b)
    {
        return a + b
    }
    et dans ma librairie C je souhaite faire un appel a Add...comment dois je faire appel a cette fonction dans mon code fortran90.
    Car quand dans mon code Fortran quand je fais : toto = Add(1,2)
    j'ai une erreur de link.

    Merci d'avance...

  2. #2
    Membre émérite Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Par défaut
    dans ton fortran90 ce sera dur... par contre regarde la doc de fortran2003 ils ont justement rajouté l'interopérabilité avec le C...

    bon, tu ne peut pas complètement parler d'interopérabilité mais on peux arriver à appeler les fonction des uns et des autres:

    http://www.idris.fr/data/cours/lang/...choix_doc.html

    regarde la doc de fortran2003 et je crois que tu trouvera ton bonheur... je n'ai pas essayer moi-même donc je ne te garantie rien mais bon c'est une piste

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Il te faut encapsuler ta fonction par une autre.
    En C, elle ne doit prendre que des pointeurs en entrée, et le nom doit être en minuscule, se terminant généralement par un "_".

Discussions similaires

  1. [Python/FORTRAN(f2py)] Appeler fonction Python depuis Fortran
    Par squallmrs dans le forum Interfaçage autre langage
    Réponses: 1
    Dernier message: 21/06/2012, 11h53
  2. [Fortran 77] Appel à des fonctions C/C++
    Par Flow_75 dans le forum Fortran
    Réponses: 2
    Dernier message: 14/03/2009, 12h12
  3. Appel de fonction Fortran via un programme C
    Par bybby83 dans le forum Fortran
    Réponses: 3
    Dernier message: 08/01/2009, 10h08
  4. Réponses: 4
    Dernier message: 30/11/2007, 14h46
  5. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48

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