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++/CLI Discussion :

Chargement de DLL C# dans du code C++ Managé


Sujet :

C++/CLI

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 86
    Points : 81
    Points
    81
    Par défaut Chargement de DLL C# dans du code C++ Managé
    Bonjour,

    est-ce que vous pourriez me donner des liens vers des tutoriaux et documentations pour pouvoir utiliser des DLL C# dans une application C++ managé.

    Dans google je ne trouve que le contraire ou le chargement de DLL C# dans du C++ non managé.

    Merci.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Hello

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #using <mscorlib.dll>
    using namespace System;
     
    ref class Test
    {
    private:
     
    public
        static void SayHello(String^ message)
        {
           Console::WriteLine(message);
        }
    };
    Ainsi tu tapes comme tu veux dans tes dll. Si tu désigne la classe avec le mot clé ref, tu peux l'utiliser en langage .net

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 86
    Points : 81
    Points
    81
    Par défaut
    Je ne comprend pas.
    Je suis débutant en C# et C++ managé. Et je n'ai jamais utilisé de DLL (C++) en C++ natif.
    Il me faudrait un exemple simple avec:
    _ le code source d'une la DLL C# contenant des types de variables membres (int,string,pointeurs,classes) et fonctions différents.
    _ le code source C++ managé pour charger la DLL C# et utiliser ses fonctions et variables (de types différents).

    Et des explications simples

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    le code source C++ managé pour charger la DLL C# et utiliser ses fonctions et variables (de types différents).
    C'est ce que fait mon code.

    : indique d'utiliser la dll mscorlib, qui contient les principales classes de .net , utilisé ici pour faire un exemple avec les classes String et Console. Si la dll n'est pas une dll de base, tu dois la référencer dans les propriétés du projet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using namespace System;
    : correspond à un using System; en C#

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static void SayHello(String^ message)
    : String^indique qu'on utilise un objet managé.

    Le reste du code est simple si tu connais le C++ classique.
    Tuto :
    http://nico-pyright.developpez.com/t...c2005/interop/
    http://nico-pyright.developpez.com/t...2005/interop2/
    http://www.codeproject.com/KB/mcpp/quickcppcli.aspx

    Bon courage

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 86
    Points : 81
    Points
    81
    Par défaut
    Ok.
    Dans mon program C++ il suffit de l'ajouter:
    _
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #using <LeNomDeMaDLLCSharp.dll>
    _ Et dans le projet visual aussi

    Et ensuite j'utilise ses classes comme si c'était une classe de la bibliothèque standard.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation d'une dll C# dans du code C++ ?
    Par Selven dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 16/04/2013, 00h09
  2. [MEX] utiliser une dll C dans le code matlab
    Par hector2 dans le forum MATLAB
    Réponses: 2
    Dernier message: 18/06/2010, 16h53
  3. Réponses: 4
    Dernier message: 03/03/2010, 10h08
  4. charger une dll C dans un code C++
    Par Nehmé dans le forum Visual C++
    Réponses: 6
    Dernier message: 04/09/2009, 18h28
  5. Réponses: 2
    Dernier message: 07/01/2009, 19h03

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