我有一些堡垒代码 看起来像:
subroutine foo(mx,my,mz)
real pts(3,mx,my,mz)
end
数组 pts 从来没有在子例程中实际使用过 -- 当我重新设定我的代码时, 我忘了删除它。 现在, 由于堡垒没有堆叠与堆肥的概念, 它由编译器决定如何分配 pts -- 这是以 gfortran 表示的数组大小的函数, 但我一直无法理解 poortland group 组编译器是如何处理的 。
能否判断堆叠、堆积和堆积是否分配了pts,还是完全优化了pts(或许应该如此 )? 是否可能出现堆叠流而不知道(即没有运行错误 )? 我的直觉是,通过查看编译者所制作的组装,应该可以辨别出来,但我不知道我在那里会看到什么。