J'ai une application C++ pure développée en utilisant VC 6.0. Je voudrais que cette application utilise une bibliothèque développée en C#. Comment puis-je appeler les méthodes de la bibliothèque C# à partir de mon exécutable natif? Je ne veux pas convertir mon application native C++ non gérée en code managé. De même, comment faire l'inverse? PInvoke est-il la seule option? J'apprécierais n'importe quelles références ou pointeurs pour le même.Comment appeler le code .NET géré à partir de mon code C++ non géré sous Windows et vice versa?
3
A
Répondre
3
Pour appeler du code managé à partir d'un C++ non géré, utilisez ClrCreateManagedInstance ou exportez vos types dans votre assembly managé comme COM visible et utilisez COM. Pour appeler un code non géré à partir de managed, utilisez COM ou P/Invoke.
1
La ligne principale de Microsoft sur ceci est l'utilisation COM interop. Il y a cependant une autre option, parfois appelée "Reverse P/Invoke" il y a un article de blog intéressant here et encore plus here
De plus, si vous avez Delphi.NET (maintenant défunt), cette langue vous permet d'exporter de la statique méthodes comme vous le feriez toute fonction dll alors vous pouvez appeler dans l'assembly Delphi.NET tout comme une DLL native normale.
Questions connexes
- 1. code dll non géré
- 2. Comment intégrer/mélanger le code géré et non géré
- 3. Code de rappel non géré de C géré
- 4. Code C natif non géré vers .NET compatible
- 5. Appel du composant C# géré à partir du code C++ non géré, comment puis-je définir la configuration
- 6. diassemble géré code problème
- 7. C# à C non géré ++
- 8. Marquage de code non géré dans silverlight
- 9. Conversion de code C++ non géré en C#
- 10. Un thread non géré s'exécutant Code managé
- 11. Conversion de l'audio en code et vice versa
- 12. Géré vers natif Interop sous Windows Azure NON P/Invoke
- 13. Jeton C++ non résolu géré
- 14. FileLoadException sous Windows 2003 pour un fichier C++ dll géré
- 15. Gestion de la mémoire pour les composants .NET utilisés par le code non géré
- 16. Comment surveiller l'utilisation de la mémoire pour le code managé/non géré
- 17. Comment une chaîne sécurisée est-elle associée à un code non géré?
- 18. Strange comportement non géré XmlException
- 19. HOWTO: Appelez l'interface C# managée à partir de C++ non géré sur WindowsCE Compact Framework
- 20. Classe non enregistrée .... lorsque j'essaie d'appeler une bibliothèque C# gérée à partir d'un C++ non géré
- 21. Comment appeler le code Java à partir de C#?
- 22. classe de base non géré avec la sous-classe
- 23. Pouvez-vous exécuter le code C# à partir de C++?
- 24. Faire le dossier non géré par SVN
- 25. Comment initialiser un pointeur statique non géré dans un code C++/CLI?
- 26. Pourquoi un appel au code non géré à partir d'un thread .NET BackgroundWorker affecte-t-il l'interface utilisateur?
- 27. Sérialiser une structure en C# vers C++ et vice versa
- 28. Marshalling C# (passage la structure à un type non géré)
- 29. Comment convertir un type non géré défini par l'utilisateur en type géré?
- 30. Code postal à Ville/État et vice-versa dans une base de données?