我试图将OpenMP应用于大型Fortran代码。OpenMP:将Fortran指针设置为PRIVATE()
想必重用内存许多循环依赖于在初始化过程中创建的工作阵列。循环通过一系列的指针访问它们。
现在根据标准用Fortran任何PRIVATE()变量必须是可分配或可定义的。他们是解除引用这个指针混乱的方式,还是我最好的选择,用allocate(foo, source=bar)
创建一个新的变量?
我处理的完整结构是这样的:
type work_type
allocatable :: bar
end type
type(work_type) :: work
pointer, type(work_type) :: w
w => work
pointer :: foo, bar
bar => w%bar
foo => bar
还是要总结一下:
for => bar => w%bar
w => work
这真的很有用。谢谢! – John