Question

Je travaille sur un projet (plutôt horribles) qui consiste à importer une hiérarchie de classes C ++ via une interface dll. L'un des détails les plus horribles me demande connais les noms « décorés » pour les différents éléments de classe qui sont exposés -. La plupart des fonctions membres et les données statiques

Il y a nombre moyens pour y parvenir - la liste de montage ou d'un fichier de carte, dumpbin, un marcheur de dépendance, le _ FUNCDNAME _ macro, etc. Malheureusement, ils ont tous me demander de compiler effectivement le code ou ont compilé le dll - et tout ce dont je dispose est les fichiers d'en-tête. (Cela peut vous laisser gratter la tête pendant une minute -. Il suffit de prendre ma parole qu'il est vraiment un horrible projet)

Maintenant, je peux facilement concocter quelque chose de compilable seulement les en-têtes et d'utiliser l'une des approches ci-dessus. Mais si je peux l'éviter, ce serait beaucoup mieux. Ma question est: est-il possible de parcourir les noms de symboles décorés à partir de Visual Studio, un navigateur la Object? Je sais que la décoration est techniquement faite au moment de la compilation, mais IntelliSense ne tant d'autres choses pendant que vous tapez que je suis en espérant qu'il pourrait le faire aussi.

Était-ce utile?

La solution

Si tout le reste échoue prendre ce .h, renommez-.cpp, remplacer tous les points-virgules (;) avec

{
#pragma message(__FUNCDNAME__)
}

modifier un peu, et le compiler. Vous obtiendrez votre liste.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top