Bonjour,
je vous explique mon problème.
J'ai fait une dll en C/C++ pour appeler une dll fortran (ce qui n'est pas très logique vous allez me dire mais si).
Mon but est de loader cette dll fortran dans scilab pour utiliser une de ses fonction et j'avais besoin d'une interface pour convertir les types de donnes. Je l'ai faites en C, non pas que je maitrise, mais plus que le fortran lol.
J'ai donc réussi a créer cette dll, qui marche (presque) niquel, sauf un truc, le retour :
extern "C" void __declspec (dllexport) call_dll(int * N1, int* N2, double* N3, double* N4, double* N5)
Elle marche, il n'y a pas de souci, je peux l'appeler, mais pas récupérer de valeurs (normal c'est un void)
Donc je réécrit mon code et je déclaire ma fonction comme ca :
extern "C" double** __declspec (dllexport) call_dll(int * N1, int* N2, double* N3, double* N4, double* N5)
Ca compile pas de problème, par contre, lors de la création de la dll, il n'exporte pas la fonction call_dll... Il ne créee pas de méthode utilisable
La seule chose que j'ai modifié, c'est bien sur le retour.
Ma question : ne peut on pas renvoyer de pointeur (et encore moins un pointeur de pointeur) depuis une dll ?
Enfin si quelqu'un voit d'ou ca peut venir, je suis preneur
Merci
Kokocha