我理解两个变量,比如a1和a2出现在Fortran中的Equivalence(a1,a2)语句中,然后它们占用相同的内存空间.所以说这发生在一个过程中,其中a1和a2都是该过程中的局部变量.
这意味着你不仅可以在内存中拥有a1和a2的副本吗?因为其中一个值将被覆盖.您可以将a1保留在内存位置并将a2保存在整个过程的寄存器中,这样就可以了吗?
我的问题基本上是:你可以将a1保留在整个程序的注册表中吗?
我会说是的...除非你用完了寄存器而a1必须存储回内存.然后你将覆盖a2并失去它的值,然后变量a1和a2实际上将指向a1的值.