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 :

Import de DLL C++ dans c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Mai 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 2
    Par défaut Import de DLL C++ dans c#
    Bonjour,

    Avant tout je suis un codeur C++ donc excusez mes bêtises.

    Je suis ramener a utiliser une API sous forme de DLL C++ dans un Winform en C#.

    C est un code "unmanaged" et d’après mes lectures il est possible de l'importer avec dllimport dans C#, dans cette API il existe une fonction faisant un traitement et retournant un vecteur d'objets sous la forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     vector<my_object> my_funct(mon_argument)
    mon objet n est pas reconnu dans C#, d' ou ma question :

    - Est ce qu il faut redéfinir la class dans C# ou bien c est une erreur de design ou encore existe il une autre façon de faire ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    On peut importer des fonctions et structures C (voir P/Invoke et DllImport), par contre des objets C++ c'est une autre histoire... Par exemple, vector<> n'existe pas en C#; il y a des équivalents, mais le "mapping" ne se fera pas tout seul. Pour autant que je sache, il n'y a pas de moyen de le faire directement.

    Une possibilité est de faire un wrapper en C++/CLI (la version .NET de C++), pour exposer des classes .NET qui vont manipuler les classes C++. Le wrapper sera linké sur la lib C++, et le code C# référencera le wrapper.

Discussions similaires

  1. Importer une DLL Matlab dans Delphi
    Par 123djimy dans le forum Langage
    Réponses: 3
    Dernier message: 13/11/2012, 12h08
  2. importer une dll c dans windows Phone7
    Par jalil1988 dans le forum Windows Phone
    Réponses: 3
    Dernier message: 10/05/2012, 10h51
  3. Import/Export DLL dans vc++ 2005!
    Par zicothec dans le forum Débuter
    Réponses: 1
    Dernier message: 22/02/2009, 08h46
  4. Comment importer une DLL dans du code???
    Par Jayceblaster dans le forum Delphi .NET
    Réponses: 29
    Dernier message: 19/04/2006, 19h19
  5. Réponses: 1
    Dernier message: 18/04/2006, 12h24

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