由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 32/64bit Fortran编译器造成的错误
相关主题
如何在fortran中定义一个动态的数组?哪位大牛简单说说compiler里的bootstrap是干啥用的?
问个fortran的问题array allocation in c
面试被问到G++和GCC编译器的关系FORTRAN 90 菜鸟问题
请教Fortran编程高手并问一下OpenMP的问题怎样解决fortran程序中的common块的问题
C++: operator new 为啥要是 static的, 不是有啥影响?一个fortran问题:
小白一问:vista下面用什么C编译器?fortran里面common的问题
真是奇了怪了,VC编译器问题?MPI xl fortran problem on Blue Gene
c++14出来了?在 windows下的C++开发平台是不是 Dev-C++?
相关话题的讨论汇总
话题: xx话题: mysub话题: your话题: do话题: 64bit
进入Programming版参与讨论
1 (共1页)
c******d
发帖数: 906
1
系统是win7 64bit
VS2008+IVF 11.1
定义了一个递增数组p
根据条件,先对p分配大小, allocate p(:)
然后在loop中对一个subroutine 传递p(i),所有的p值是不变的
简化程序如下
allocate (p(j))
loop1: do i=1,j
call MYSUB(p(i),xx,xx,xx)
end do loop1
用IA-32 IVF compiler,在loop到最后的p(i)时,p中有几个数值被冲掉
用IA-64 compiler就没有问题
想仔细请教一下怎么去分析解决这个问题
先谢过
j**f
发帖数: 28
2
Your code looks fine. Your problem maybe comes from other part of your code
, for example your MYSUB(p(i),xx,xx,xx) can do trick things.
How do you know your p(i) have been changed? Do you print out p(i) before
or after
calling MYSUB(p(i),xx,xx,xx)? If you are sure the value have been changed
after you call MYSUB(p(i),xx,xx,xx), certainly the problem is in your MYSUB(
p(i),xx,xx,xx) instead of allocatable array problem.
I assumed your j is in the range of 32bit integer.

【在 c******d 的大作中提到】
: 系统是win7 64bit
: VS2008+IVF 11.1
: 定义了一个递增数组p
: 根据条件,先对p分配大小, allocate p(:)
: 然后在loop中对一个subroutine 传递p(i),所有的p值是不变的
: 简化程序如下
: allocate (p(j))
: loop1: do i=1,j
: call MYSUB(p(i),xx,xx,xx)
: end do loop1

1 (共1页)
进入Programming版参与讨论
相关主题
在 windows下的C++开发平台是不是 Dev-C++?C++: operator new 为啥要是 static的, 不是有啥影响?
问个简单的Fortran问题小白一问:vista下面用什么C编译器?
STL堆操作怎样对堆顶元素做ShiftDown?真是奇了怪了,VC编译器问题?
请教boost::any compile错误。c++14出来了?
如何在fortran中定义一个动态的数组?哪位大牛简单说说compiler里的bootstrap是干啥用的?
问个fortran的问题array allocation in c
面试被问到G++和GCC编译器的关系FORTRAN 90 菜鸟问题
请教Fortran编程高手并问一下OpenMP的问题怎样解决fortran程序中的common块的问题
相关话题的讨论汇总
话题: xx话题: mysub话题: your话题: do话题: 64bit