Hé les gars, je crée une DLL en C++ et je veux qu'elle soit utilisable depuis les applications .NET (C# et VB.NET). Je suis récuré l'Internet pour obtenir des conseils et ce que j'ai trouvé à ce jour suggèrent:Astuces pour créer une DLL C++ à utiliser à partir de .NET
- Déclarant mon C++ fonctionne comme extern C et en utilisant __stdcall
- Utilisation des types C de base pour les paramètres et les types de retour au lieu de STL conteneurs (par exemple char * au lieu de std :: string)
- Utilisation des pointeurs pour les paramètres d'entrée qui doivent être modifiés au lieu de références
en supposant typedef octet unsigned char;
C'est une fonction de compression. Les entrées attendues sont les données d'entrée (transmises comme octet *), la taille des données d'entrée (passées comme int), un pointeur sur la variable dans laquelle stocker la taille compressée (passée comme int *), et une chaîne dans quels messages d'erreur peuvent être stockés si nécessaire (transmis comme char *). La fonction malloc est le tampon de sortie, écrit la sortie, et renvoie un octet *, et le code appelant est censé libérer le tampon quand il est fait en l'utilisant. En cas d'erreur, le message d'erreur est strcpy'd dans la chaîne d'erreur et un pointeur NULL est renvoyé.
Ma configuration actuelle est-elle correcte ou dois-je effectuer d'autres modifications pour qu'elle puisse être appelée depuis .NET?
Oui, C++/CLI est le chemin à parcourir. –