J'ai un dll géré en c++, et j'ai besoin d'appeler une fonction qui renvoie un type géré.
Pour les dllexports sans types gérés, c'est facile, il suffit de définir ma fonction c(++) statique dans un en-tête comme ceci :
extern "C"
{
__declspec(dllexport) int __cdecl InitSystem();
}
Mais maintenant la fonction c(++) statique doit renvoyer un type géré, et là j'ai un problème. Si j'essaie (par exemple) :
extern "C"
{
__declspec(dllexport) System::Collections::Generic::List^ __cdecl InitSystem();
}
Je reçois une erreur du compilateur (La définition de la fonction nécessite une signature __clrcall).
Étant donné que le DLL n'est pas une assembly (je crois), je suis un peu perdu sur la manière d'exporter un appel de fonction simple en utilisant des paramètres .net/clr. Cela doit probablement être simple et je regarde juste dans la mauvaise direction ?