Je développe un éditeur visuel de niveau de jeu en C++. Pour cela, je veux que le mécanisme de réflexion (RTTI) connaisse les attributs de classe à l'exécution. J'utilise actuellement des fichiers PDB pour cela. Mais en utilisant PDB je ne pouvais pas récupérer la ligne de code réelle pour des informations supplémentaires dans un format commenté qui est donné pour cet attribut. Visual Studio utilise des fichiers NCB pour l'intelligence. Alors sera-t-il préférable d'utiliser NCB à la place de PDB? Si oui, comment récupérer des informations à partir de fichiers NCB? Y a-t-il un SDK comme SDK DIA?Utilisation du fichier Visual sudio .ncb pour la réflexion
Répondre
Le format de fichier NCB n'est pas documenté publiquement et change avec chaque version de Visual Studio. Avec le VS2010 à venir (attendu dans environ une semaine et demie), il disparaît entièrement en faveur d'un nouveau format basé sur SQL qui devrait être beaucoup plus facile à utiliser. Microsoft met également en œuvre une API pour l'intégration avec les données Intellisense de l'analyseur.
I vraiment ne compterait pas sur les fichiers .ncb pour la réflexion. Ces fichiers sont destinés à intellisense, et seulement intellisense. Ils pourraient changer sans avertissement, ne pas être à jour, ou quoi avez-vous ...
Vous pourriez faire un peu de hackery macro pour obtenir la réflexion que vous cherchez (quelque chose comme pousser vos variables/méthodes dans un conteneur, et le déclarer simultanément) ... ou utilisez un framework comme Qt (qui est ce que j'ai utilisé pour mon éditeur de niveau).
- 1. Changer l'emplacement du fichier dans ncb Visual C++ 2008 (9.0)
- 2. Lancement d'un fichier readme à la fin d'un projet d'installation de Visual Sudio
- 3. Utilisation de la réflexion pour définir la valeur d'un Int32
- 4. Utilisation de la réflexion pour appeler un service Web ASP.NET
- 5. Utilisation de la réflexion dans Android pour une compatibilité descendante
- 6. Utilisation des ressources pour la réflexion et les attributs
- 7. Réflexion pour la validation
- 8. Utilisation de la mémoire Windows et du fichier de pages
- 9. Utilisation de C# avec OpenOffice par réflexion
- 10. Utilisation GetProperties() avec BindingFlags.DeclaredOnly dans la réflexion .NET
- 11. Utilisation d'une requête XPath avec réflexion
- 12. Utilisation du fichier de page
- 13. Utilisation correcte du fichier pidfile
- 14. Utilisation de Visual Studio 2005 pour la construction d'applications LynxOS
- 15. Utilisation du flash pour la visioconférence
- 16. Utilisation de la réflexion pour déterminer le type de module d'assemblage
- 17. Utilisation de QXmlStreamWriter pour ajouter du texte à la fin du fichier
- 18. Utilisation de la mémoire Visual Studio 2005
- 19. Utilisation de l'espace entier du fichier pdf
- 20. Utilisation du fichier comme entrée, iPhone App
- 21. .Net Utiliser la réflexion pour définir OfType
- 22. Utilisation du fichier log4j.properties externe avec Grails
- 23. Utilisation de la réflexion pour définir une propriété d'une propriété d'un objet
- 24. Utilisation de la réflexion pour exécuter une fonction dans un System.Diagnostics.Process
- 25. ASP.NET MVC - Utilisation de la réflexion pour trouver si un contrôleur existe
- 26. Utilisation du thème Visual Studio dans l'add-in
- 27. XAML pour l'effet de réflexion
- 28. analyse du fichier journal - utilisation du graphe java et plot
- 29. Utiliser la réflexion pour recréer l'objet pour le test
- 30. C#: Récupération et utilisation d'un IntPtr * par réflexion
Que faites-vous avec l'information, exactement? Il pourrait probablement être fait dans la langue, ou au moins plus facile que d'utiliser un fichier IDE. – GManNickG
informations supplémentaires pourraient être -Si nous voulons le refléter ou non -Nom pour cet attribut. -valeur maximale pour cet attribut – Neo
Ce type d'information appartient à un fichier que vous créez et analysez. Ou en tant que fonctions dans ces classes pour appeler et interroger. – GManNickG