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 :

Comment utiliser une API développée en C dans C#?


Sujet :

C#

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 212
    Par défaut Comment utiliser une API développée en C dans C#?
    Bonjour tout le monde,

    J'ai une dll développée en C et je veux l'utiliser dans un environnement .Net. Je ne sais pas du tout par où commencer. Est ce que je dois développer un wrapper et l'utiliser dans mon projet final? Ou faut-il que j'utilise la dll originale directement dans mon projet final? Est ce qu'il des considérations de multithreading que je dois y penser avant?

    Quelqu'un aurait un conseil?

    Merci d'avance.

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Par défaut
    http://faqcsharp.developpez.com/?pag...syst_apiinvoke


    utilise la faq




    utilisez le bouton resolu svp

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 212
    Par défaut
    C'est tout ce qu'il faut faire pour utiliser du unmanaged code dans du managed code. Franchement, j'en doute.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 349
    Par défaut
    Et pourtant c'est comme ça... Bien sûr ça peut-être plus compliqué dans le sens où il faut parfois faire du marshaling mais à la base ce sera toujours comme l'exemple de la FAQ.

    Pour plus d'informations, une petite recherche sur MSDN sur DllImport.

    ++

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Je confirme que c'est bien la technique à utiliser

    Plus d'infos ici: http://morpheus.developpez.com/dlldotnet/

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 212
    Par défaut
    Est ce que ça pose un problème si ma dll est monothread et qu'elle fait passer des callbacks?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 349
    Par défaut
    Si elle n'est utilisée que par un seul thread, non.

    ++

Discussions similaires

  1. Comment utiliser une API dans une application Android
    Par La March dans le forum Android
    Réponses: 7
    Dernier message: 18/06/2014, 10h16
  2. comment utiliser une valeur d'un champs dans un select ?
    Par cholopat dans le forum Requêtes
    Réponses: 10
    Dernier message: 20/06/2009, 08h15
  3. Réponses: 17
    Dernier message: 12/11/2008, 10h04
  4. Réponses: 1
    Dernier message: 13/11/2007, 06h21
  5. Réponses: 2
    Dernier message: 22/08/2006, 11h28

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