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 :

Utiliser une dll C++ en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut Utiliser une dll C++ en C
    Bonjour à tous.
    Je souhaiterais créer uns dll c++(pure avec des classes et autres particularités inexistantes en c ) que je pourrais utiliser plus tard en c

    Je voudrais savoir comment utiliser les dll en C (+ linkage )et
    comment créer un dll C++()
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    #ifndef TEST_H_
    #define TEST_H_
     
    class test
    {
    public:
       int m1;
       int m2;
       test();
       test(int a, int b);
       virtual ~test();
       void display();
       test operator=(const test);
    };
     
    #endif /*TEST_H_*/
    en incluant le .h dans un program c il ne connait pas les mots class ,operator etc..
    Cordialement Yasmin

  2. #2
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    Quel est votre système, et IDE ?

  3. #3
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    Citation Envoyé par ogyasmin Voir le message
    Bonjour à tous.
    Je souhaiterais créer uns dll c++(pure avec des classes et autres particularités inexistantes en c ) que je pourrais utiliser plus tard en c

    Je voudrais savoir comment utiliser les dll en C (+ linkage )et
    comment créer un dll C++()
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    #ifndef TEST_H_
    #define TEST_H_
     
    class test
    {
    public:
    	int m1;
    	int m2;
    	test();
    	test(int a, int b);
    	virtual ~test();
    	void display();
    	test operator=(const test);
    };
     
    #endif /*TEST_H_*/
    en incluant le .h dans un program c il ne connait pas les mots class ,operator etc..
    Cordialement Yasmin
    Mais bien sure, dans une DLL, on exporte des fonctions et non des classes ????

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut
    Mon systeme est windows et mon IDE est Easy Eclipse for C and C++.

  5. #5
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    Pour créer une DLL en langage C. Ca n'a rien de magique, tu dis à ton compilateur (plus précisémment le linkeur) que tu veux créer une DLL puis tu tapes les fonctions que tu veux mettre dans la DLL, après tu compiles. Y a des détails que j'ai pas mentionnés, mais en gros c'est comme ça. Fais une recherche sur google, c'est pas difficile à chercher.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut
    En fait la dll sera creer à partir d'un prog c++ oui j ai vu que c etait pas diff mais je cherche toujours comment utiliser une DLL en C.

  7. #7
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Tu ne peux pas ou alors il y a des prérequis lorsque tu construis ta DLL en C++.

    En effet, le C++ définie la notion de classes, de surcharge, de polymorphisme, et d'autres encore. Toutes ces notions n'ont pas d'équivalent en C.

    Donc si ta DLL exporte des object C++ (comme dans ton exemple), non, tu ne pourras pas les utiliser en C.

    Par contre, si ta DLL construite en C++ ne fait que du C-like, oui alors tu peux en faisant attention a bien exporter et déclarer tes fonctions en mode C compatible.

    Une précision, si ta DLL construite en C++ exporte des fonctions C-like utilisant des classes C++, alors là, il n'y a pas de problème.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. [JNI] Difficultés pour utiliser une DLL
    Par etiennegaloup dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 15/08/2005, 21h29
  2. [Windows]utiliser une dll c# en java
    Par dude666 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 01/07/2005, 02h19
  3. Réponses: 7
    Dernier message: 13/01/2005, 10h30
  4. [DLL] utiliser une DLL a partir d' une DLL et un .def
    Par venomelektro dans le forum MFC
    Réponses: 9
    Dernier message: 07/12/2004, 14h01

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