Static structure sizes

Static structure sizes

Suppose you have a DLL compiled with Intel Fortran. Upon load it consumes a large amount of memory. You want to determine what all the statics / common blocks / whatever are that are consuming the memory upon load.

Tools like AQTime can do an allocation profiling, but that only assesses dynamic memory allocation.

On Linux there are some tools such as this one:

Is there perhaps some sort of tool like this for Windows Intel Fortran? Something that looks at a DLL or OBJ file and tells you what all the statics are and the size of them? You can probably see it in the MAP file, though that can be a little cryptic.

There likely is some sort of tool, I just do not know of it...


5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

The linker map won't be terribly helpful here as the variables are collected into image sections, though the map will tell you the contribution to image section for each object file. But this is a good place to start. You can ask for a source listing that will give some information on size of variables declared in each program unit.

Retired 12/31/2016

Yes, you can look in the code, but what if the code is thousands of files, the people who manage it have no idea, and you want to get an overview of where all the sizes are?

Go over to a linux box and compile it on there and use the linux tools mentioned?

There has to be some windows tool for this... this has to something a lot of people wonder about at times?

If you want the equivalent of nm on Windows, it is "dumpbin -symbols". I don't think it will be any more helpful than nm is, though, as local arrays don't have individual global symbols associated with them, and the compiler groups static variables into collective contributions.

Retired 12/31/2016

The DLL for all intents and purposes will look like an executable. See

Jim Dempsey


Leave a Comment

Please sign in to add a comment. Not a member? Join today