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 des fonctions C++ dans C# ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Par défaut Utiliser des fonctions C++ dans C# ?
    Salut

    Je débute en C#. J'utilise VC2008 Express pour l'instant, mais si nécessaire je peux me faire acheter une licence pour VC2008.

    Je voudrais me servir du C# pour faire l'interface graphique d'un programme de traitement d'images, plutôt que d'utiliser en C++ les MFC beaucoup plus compliquées à long terme.
    Mais je dispose déjà des fonctions de traitement d'images en C++.

    Questions:
    -Comment utiliser des fonctions C++ sous C#? par l'édition de lien d'une 'lib' ou 'dll' peut-être?
    -Comment afficher en C# dans une fenêtre les images retournées par les fonctions C++?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 141
    Par défaut
    C'est assez technique,
    Il faut regarder du coté de System.Runtime.InteropServices. Tu y trouvera des classe pour passer d'une fonction C++ à du code C#

    Chercher sur google DllImport tu trouvera certainement ton bonheur et aussi sur le forum.

    Lien msdn :
    http://msdn2.microsoft.com/fr-fr/net...dc(VS.80).aspx
    La tu aura tout ce qu'il te faut

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Par défaut
    Je viens de voir qu'il est également possible de faire un projet de "Form" en C++ avec VC 2008 Express. C'est peut-être préférable pour mon cas, non?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 141
    Par défaut
    Pas vraiment,
    VS2008 te propose de faire un projet winform en c++ mais en C++ managé! Donc il te faudra forcemment passer par le System.Runtime.InteropServices pour accéder au fonction non managées.
    En gros ca change rien.

    T'en fait pas c'est pas très difficile d'utilisé ce namespace, il faut juste prendre le temps de prototypé les fonctions. Il faut trouver également les correspondance entre type c# et type c++. Mais je suis sur que tu trouvera ton bonheur en posant des questions sur le forum si besion est

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Par défaut
    Donc en C++ comme en C#,il faudrait quand même passer par "System.Runtime.InteropServices".
    Ca m'arrangerait quand même en C++, parce que je suis bien plus à l'aise qu'avec la syntaxe C#.

    Ca s'utilise comment "System.Runtime.InteropServices"?

    Et sais-tu comment je pourrais afficher une image (traitée par une fonction C++) dans une fenêtre Windows?

  6. #6
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Salut,
    Voilà un petit tuto pour faire ce que tu veux en C# (avec correspondance de types).
    Pour passer une image, je ne pense pas que ce soit possible directement. A mon avis il faut que tu la passes sous forme d'un tableau de byte.
    Bon courage

  7. #7
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Par défaut
    Merci à vous 2.
    Je vais voir le tuto...

    Vous me conseilleriez plutôt de programmer mon IHM en C# ou en C++?

    A mon avis il faut que tu la passes sous forme d'un tableau de byte.
    C'est ce que j'avais grosso modo l'intention de faire. La librairie C++ pouvant retourner un pointeur sur l'image.
    A priori, je pensais utiliser l'outil PictureBox, mais je ne sais pas comment changer l'image affichée.

  8. #8
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Citation Envoyé par Charlemagne Voir le message
    Je viens de voir qu'il est également possible de faire un projet de "Form" en C++ avec VC 2008 Express. C'est peut-être préférable pour mon cas, non?
    a toi de voir non?

Discussions similaires

  1. utilisation des fonction excel dans VBA
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/04/2009, 11h24
  2. Réponses: 0
    Dernier message: 31/05/2008, 16h27
  3. Réponses: 6
    Dernier message: 07/05/2008, 13h54
  4. Utiliser des fonctions contenues dans un fichier .bas
    Par usbeck dans le forum Visual C++
    Réponses: 4
    Dernier message: 11/08/2006, 12h03
  5. Réponses: 6
    Dernier message: 22/05/2006, 13h54

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