Je voudrais appeler cette fonction C++ de mon code C#:C#: appeler C++ DLL avec l'argument char **
void GetArrayOfNames(char** names, int nbOfNames);
Pour appeler en C++, je définir simplement un tableau de char *:
char* aNames[20];
et allouer chaque nom dans une boucle:
for(int i-0; i<20; i++)
{
aNames[i] = new char[50];
}
appellent ensuite:
GetArrayOfNames(aNames, 20);
Dans mon code C#, je:
[DllImport("MyDLL.dll")]
unsafe static extern void GetArrayOfNames(char** ppNames, int nbOfNames);
Maintenant, comment dois-je faire l'allocation de mémoire et appeler GetArrayOfNames? En outre, aucun moyen de ne pas déclarer ma fonction comme "dangereuse"?