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 :

dll c++ en csharp


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 21
    Par défaut dll c++ en csharp
    Bonjour,
    je viens d'utiliser une dll crée en c++ dans un programme csharp.Lors d'exécution j'obtient cette erreur :
    L'Assistant Débogage managé 'PInvokeStackImbalance' a détecté un problème dans
    'C:\Documents and Settings\Mes documents\Visual Studio 2010\Projects\ConsoleApplication2\ConsoleApplication2\bin\Debug\ConsoleApplication2.vshost.exe'.

    Informations supplémentaires*: Un appel à la fonction PInvoke 'ConsoleApplication2!ConsoleApplication2.Program:roduit' a déséquilibré la pile.
    Cela peut se produire, car la signature PInvoke managée ne correspond pas à la signature cible non managée.
    Vérifiez que la convention d'appel et les paramètres de la signature PInvoke correspondent à la signature non managée cible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    namespace ConsoleApplication2
    {
     
        class Program        
        {
     
            [DllImport("dll_produit")]
            static extern int produit(int x, int y);
            static void Main(string[] args)
            {
                int x1 = 2;
                int y1 = 3;
                int a=produit(x1,y1);
                Console.Write(a);
            }
        }
    }
    Et merci d'avance.

  2. #2
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588

  3. #3
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 21
    Par défaut
    Merci pour le lien
    Mais le problème n'est pas encore résolu encore .J'ai pas compris la signification d'erreur.

  4. #4
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    essaie:


    c#:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [DllImport("dll_produit.dll", EntryPoint = "produit")]
    static extern int produit(int x, int y);
    et dans ta fonction c++

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    __stdcall  __declspec(dllexport) void produit(int x, int y);

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

Discussions similaires

  1. Problème pour appeler une DLL C en Csharp
    Par juanito7 dans le forum C#
    Réponses: 3
    Dernier message: 21/10/2010, 22h06
  2. Appel dll .NET (csharp) depuis PHP
    Par olibara dans le forum Langage
    Réponses: 2
    Dernier message: 09/10/2009, 09h37
  3. debuger une dll c++ en CSHARP
    Par kosowski dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/06/2009, 15h37
  4. Equivalent à ExeName pour une DLL
    Par Smortex dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2002, 21h07
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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