![]() |
1
1
据我所知,除非在编译过程中有一个特殊的开关,并且这在所有编译器中都不存在(IBMXLF有这个开关,但我不记得了),否则不会对堆栈分配的数据进行初始化。 这意味着这些数组将充满随机垃圾。 无论如何,我强烈建议你 不 使用入口,除非你的生活依赖于它。在您展示它的过程中,我没有看到使用它的真正原因,除非预先设置状态,然后调用入口符号,但是有更好、更干净的选择。 如果你的意思是分配,那么它肯定是分配的。本代码
编译为此代码(长的东西)
正如您所看到的,基本上是相同的(即,条目只是初始化部分的“复制”例程,然后在后面输出),实际分配发生在uuuu95_master_0中。_
当您看到堆栈指针递减时,您可以看到它在两个例程中都被调用。 当然,如果第一部分包含一个可分配变量和一个allocate,那么事情就会发生变化。在这种情况下,我不能肯定它不会被分配。你会撞车,但那是另一个问题。 |
![]() |
Fib · 查找R包中使用的Fortran文件 3 年前 |
![]() |
Holmz · 使用ifort 2020和OneAPI更改字符串行为? 3 年前 |
![]() |
imronuke · nvfortran编译器有用标志的建议 3 年前 |
![]() |
R. N · gfortran指针过程类型问题 7 年前 |
![]() |
ptb · 将Torvalds的“好品味”应用于Fortran链表 7 年前 |