Bonjour tout le monde,
Je cherche à trouver un moyen pour extraire l'ensemble des méthodes présentes dans une bibliothèque dynamique (C++) (.so ou .dll). Pour le moment, j'utilise des outils externes comme nm sous linux ou Dependency Walker pour les lister.
J'aimerais pouvoir charger ces méthodes de manière dynamique directement depuis un programme. Est-ce qu'il y a des bibliothèques open source qui permettent ça?
Je pensais à une interface de ce genre:
Il faudra bien sûr que je trouve une méthode pour convertir un string en type (int, double, etc....) voir en classe. (c'est le principe de réflexion non?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 //allMethods comprend les différentes méthodes avec leurs arguments associés std::vector<Methods> allMethods = listMethods("myBiblio.so"); //listMethods("myBiblio.dll"); //allMethods[0].functionType() retournerait un std::function avec le bon paramètre de retour ainsi que les bons arguments allMethods[0].functionType() func1 = loadMethod<allMethods[0].functionType()>(allMethods[0].name());
Merci pour tout.
Partager