- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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: http://linux.die.net/man/1/nm
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...
Thanks.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The DLL for all intents and purposes will look like an executable. See http://msdn.microsoft.com/en-us/magazine/cc301805.aspx
Jim Dempsey

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page