Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Finding static initializers and destructors in C++

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?

like image 856
Joachim Ante Avatar asked Feb 05 '11 02:02

Joachim Ante


1 Answers

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.

like image 120
justin Avatar answered Nov 20 '22 14:11

justin