- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to understand a fortran program that has many multidimensional arrays passed as subroutines' parameters. for example,
subroutine s1
integer nx,ny,nz
real *8 a(5,nx,ny,nz), b(5,nx,ny,nz), c(5,nx,ny,nz),d (5,nx,ny,nz)
real *8 e(5,nx,ny,nz), f(5,nx,ny,nz), g(5,nx,ny,nz), h(5,nx,ny,nz)
:
call s2 (a,b,c,d,e,f,g,h,nx,ny,nz)
:
end
subroutine s2 (a,b,c,d,e,f,g,h,nx,ny,nz)
real *8 a(5,nx,ny,nz), b(5,nx,ny,nz), c(5,nx,ny,nz),d (5,nx,ny,nz)
real *8 e(5,nx,ny,nz), f(5,nx,ny,nz), g(5,nx,ny,nz), h(5,nx,ny,nz)
:
:
end
Is there any compiler option that can print theaddresses of these arrays on the stack relative to the stack pointer or the size of the arrays? nx, ny, nz areintegers read in from a input file.
Thanks.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There's no option to do this automatically. I sometimes put in prints of LOC(var) if I'm interested in addresses. You can also type in variable names in the Memory window in the debugger.

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