8

I have a program with way too many static initializers and destructors. I want to get rid of all of them. So i need a way to find them.

Running nm on the executable gives something like this: 0004bfc0 t _Z41_static_initialization_and_destruction_0ii

Is there a good way to get a list of files from where static_initializers are being included?

  • possible duplicate of [Determine static initialization order after compilation?](http://stackoverflow.com/questions/1224361/determine-static-initialization-order-after-compilation) – Johan Kotlinski Feb 05 '11 at 09:37
  • Not a duplicate. This question is about finding all static initializers, the linked question is about predicting the order in which they are executed. – finnw Feb 05 '11 at 11:44

1 Answers1

2

you could run nm on an object file which is later linked into the final executable. or create a script to parse nm's output for you if you've a lot to go through.

depending on the definitions of the data, you may also find you have duplicates which could be reduced to one object.

justin
  • 104,054
  • 14
  • 179
  • 226