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 du Club
    Inscrit en
    Mai 2006
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 212
    Points : 68
    Points
    68
    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 averti
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 48

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


    utilise la faq




    utilisez le bouton resolu svp

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 212
    Points : 68
    Points
    68
    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 averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 349
    Points : 320
    Points
    320
    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.

    ++
    Le problème est souvent entre la chaise et le clavier

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

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

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

  6. #6
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    212
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 212
    Points : 68
    Points
    68
    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 averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

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

    ++
    Le problème est souvent entre la chaise et le clavier

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