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 :

Appeler une fonction DLL C# depuis le C++ par API LOADLIBRARY


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    912
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 912
    Points : 85
    Points
    85
    Par défaut Appeler une fonction DLL C# depuis le C++ par API LOADLIBRARY
    Bonjour,

    J'ai eu du mal à écrire une DLL C# pour pouvoir l’appeler à partir du C++ par
    l'API LoadLibrary et GetProcAddress.
    Il faut passer par l'utilitaire ilasm.exe pour la production du DLL c#.

    Voilà maintenant , je chercherai un moyen
    d'ecrire une fonction C "CDieseGetprocaddress" équivalent à la fonction "GetProcAddress" , mise à part qu'il permettra l'appel d'une fonction c# exporté UNMANAGED , c'est à dire plus besoin de passer par l'utilitaire LDASM.EXE pour la production du DLL C#.

    Pour conclure :
    Je chercherai un code source pour appeler une fonction C# d'une DLL UNMANAGED pour pouvoir écrire ma fonction "CDieseGetprocaddress" ;

    OU SINON ,

    Peux t'on appeler une classe C# à partir du C++ en passant par LoadLibrary ET SANS PASSER PAR L'INTERFACE COM ?


    Merci beaucoup.

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    Bonjour yann458

    Le seul moyen propose par Microsoft c'est l' hebergement du CLR dans une appli C++ native.......qui charge l'assembly .net avec AppDomain.LoadAssembly ,recupere les types ou methodes,execute via reflexion et recupere les resultats en natif...

    sur ce lien MSDN:
    http://www.google.fr/url?q=http://co...IKHLYf7T-5mxDg

    bon code.....

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    912
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 912
    Points : 85
    Points
    85
    Par défaut
    J'ai lut,
    Mais est t'il possible de le faire par l'API LoadLibrary ?

    J'écris un programme d'image en C/C++ , et je souhaiterai pouvoir ajouter des extensions à partir de DLL C#.

  4. #4
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour yann458

    Le format PE COFF binaire pour les exe generes par le JIT est fait au moment de l'execution....
    Tu peux obteniir une version fichier disque avec l'utlitaire NGEN.EXE et l'examiner pour voir si ce format peut etre reutilise....

    bon code...

Discussions similaires

  1. Appeler une fonction de ThisWorkbook depuis un module
    Par MyJero dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/11/2013, 17h15
  2. [Débutant] Appeler une fonction du CodeBehind depuis un webform avec page maître
    Par ptichub dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/08/2013, 16h55
  3. [Débutant] Appeler une fonction du CodeBehind depuis un webform avec page maître
    Par ptichub dans le forum VB.NET
    Réponses: 2
    Dernier message: 22/08/2013, 16h55
  4. [Débutant] Appeler une fonction du CodeBehind depuis le Aspx
    Par ptichub dans le forum VB.NET
    Réponses: 2
    Dernier message: 22/08/2013, 10h50
  5. Réponses: 1
    Dernier message: 29/06/2010, 22h24

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