2011-02-05 2 views
8

J'ai un programme avec trop d'initialiseurs statiques et de destructeurs. Je veux me débarrasser de tous. J'ai donc besoin d'un moyen de les trouver.Recherche d'initialiseurs statiques et de destructeurs en C++

Exécution nm sur l'exécutable donne quelque chose comme ceci: 0004bfc0 t _ Z41 _static_initialization_and_destruction_0ii

est-il un bon moyen d'obtenir une liste de fichiers d'où static_initializers sont inclus?

+0

duplication possible de [Déterminer l'ordre d'initialisation statique après compilation?] (Http://stackoverflow.com/questions/1224361/determine-static-initialization-order-after-compilation) –

+0

Pas un doublon. Cette question concerne la recherche de tous les initialiseurs statiques, la question liée consiste à prédire l'ordre dans lequel ils sont exécutés. – finnw

Répondre

2

vous pouvez exécuter nm sur un fichier objet qui est plus tard lié à l'exécutable final. ou créez un script pour analyser la sortie de nm pour vous si vous avez beaucoup à faire. En fonction de la définition des données, vous pouvez également trouver des doublons qui pourraient être réduits à un objet en fonction des définitions des données.