Visualiser les paramètres d'une DLL C++
Bonjour,
J'ai développé une DLL qui pilote un logiciel TestStand (NS). Cette DLL n'est pas reconnue car elle ne contient pas les informations des paramètres.
Quand j'utilise "Dependency Walker" pour visualiser ma DLL, on voit qu'elle est au format "C" avec l'affichage :
affichage = @ANumMasterOpen$qqscpc
Quand j'utilise "Dependency Walker" pour visualiser une DLL construite sous Visual, on voit qu'elle est au format "C++" :
affichage = ?DiagCmd@@YGXPAD0PAJ@Z
.. et on peut visualiser les paramètres en utilisant la fonction "Undecorate C++ functions" :
void DiagCmd(char *,char *,long *)
La déclaration de ma fonction est je pense correcte :
extern "C++" char __declspec(dllexport) __stdcall ANumMasterOpen(char index, char *programme);
J'ai essayé de changer les options de compilations dans les options du projet mais sans + de résultats.
Qui aurait une idée ?
Noms de fonctions décorées sous Borland C++
Merci pour ces réponses.
La déclaration extern "C++" est necessaire pour forcer le mode C++. On peut aussi le faire dans les propriétés du projet. Mais cela n'est pas suffisant.
J'en sais un peu plus maintenant sur la décoration des noms de fonctions.
Il existe une utilitaire Microsoft "undname.exe" qui permet de convertir nom décoré -> nom non décoré.
Par contre, je ne sais toujours pas comment faire sous Borland pour qu'elles apparaissent telles quelles dans la DLL.