主题:求助!!!!!关于模块过程的问题
wangfan_hit
[专家分:0] 发布于 2010-12-08 09:51:00
由于毕业设计的需要,我刚学FORTRAN,,请各位高手帮忙解决下这个问题
下面是模块过程一个很基本的例子,但是调试出错,,不知道什么原因,还有申明接口快调试时也是这个问题,,我基本就是照书上例子写的啊,,,整哭了!!!
--------------------Configuration: EXAMPLE - Win32 Debug--------------------
Compiling Fortran...
C:\MSDEV\Projects\EXAMPLE\Text3.f90
Command line error D2013: internal compiler error.
Error executing fl32.exe.
EXAMPLE.exe - 1 error(s), 0 warning(s)
————————————————————————————————————
!!!!!!下面是源码
module faction
implicit none
integer::a,b
common::a,b
end module
program main
use faction
implicit none
a=1
b=2
call sub()
end program
subroutine sub()
use faction
implicit none
write(*,*)a,b
return
end sub
回复列表 (共9个回复)
沙发
ronei [专家分:360] 发布于 2010-12-08 20:59:00
首先 common后面是没有双冒号的。
common a,b
第二,end sub是不对的,要写成
end subroutine
或者是
end subroutine sub
板凳
asymptotic [专家分:16630] 发布于 2010-12-08 21:10:00
一楼 已经问题解决,我感兴趣的是什么编译器竟然出来 internal compiler error.
3 楼
wangfan_hit [专家分:0] 发布于 2010-12-12 09:48:00
谢谢你!问题解决了。不过还要请教一下,我写接口块为啥也弹出这样的错误
--------------------Configuration: example - Win32 Debug--------------------
Compiling Fortran...
C:\MSDEV\Projects\example\Text1.f90
Command line error D2013: internal compiler error.
Error executing fl32.exe.
example.exe - 1 error(s), 0 warning(s)
——————————————————————————————————————
程序源码是
FUNCTION FAC(N) RESULT(FAC_RESULT)
IMPLICIT NONE
INTEGER::N
INTEGER::FAC_RESULT
INTEGER::I
FAC_RESULT=1
DO I=1,N
FAC_RESULT=FAC_RESULT*I
END DO
END FUNCTION
PROGRAM MAIN
INTERFACE
FUNCTION FAC(N) RESULT(FAC_RESULT)
INTEGER:N
INTEGER::FAC_RESULT
END FUNCTION
END INTERFACE
IMPLICIT NONE
INTEGER::S,FAC
S=FAC(5)
PRINT*,S
END PROGRAM
——————————————————————————————————-——
去掉接口块部分就可以正常运行。请问这是为什么呢
4 楼
wangfan_hit [专家分:0] 发布于 2010-12-12 09:51:00
谢谢三楼!
麻烦你再帮我看看上楼的问题
写接口块的时候又弹出了如下错误
--------------------Configuration: example - Win32 Debug--------------------
Compiling Fortran...
C:\MSDEV\Projects\example\Text1.f90
Command line error D2013: internal compiler error.
Error executing fl32.exe.
example.exe - 1 error(s), 0 warning(s)
5 楼
dongyuanxun [专家分:7180] 发布于 2010-12-12 12:45:00
[quote]
谢谢你!问题解决了。不过还要请教一下,我写接口块为啥也弹出这样的错误
--------------------Configuration: example - Win32 Debug--------------------
Compiling Fortran...
C:\MSDEV\Projects\example\Text1.f90
Command line error D2013: internal compiler error.
Error executing fl32.exe.
example.exe - 1 error(s), 0 warning(s)
——————————————————————————————————————
程序源码是
FUNCTION FAC(N) RESULT(FAC_RESULT)
IMPLICIT NONE
INTEGER::N
INTEGER::FAC_RESULT
INTEGER::I
FAC_RESULT=1
DO I=1,N
FAC_RESULT=FAC_RESULT*I
END DO
END FUNCTION
PROGRAM MAIN
INTERFACE
FUNCTION FAC(N) RESULT(FAC_RESULT)
INTEGER:N
INTEGER::FAC_RESULT
END FUNCTION
END INTERFACE
IMPLICIT NONE
INTEGER::S,FAC
S=FAC(5)
PRINT*,S
END PROGRAM
——————————————————————————————————-——
去掉接口块部分就可以正常运行。请问这是为什么呢[/quote]
错的太多
FAC在function和interface里都没声明
INTEGER:N为INTEGER::N
INTEGER::S,FAC的FAC已经在interface中,重复声明
6 楼
dongyuanxun [专家分:7180] 发布于 2010-12-12 12:46:00
[quote]一楼 已经问题解决,我感兴趣的是什么编译器竟然出来 internal compiler error.
[/quote]
你应该看到 他的编译器是fl32
那么没什么不可能的
7 楼
wangfan_hit [专家分:0] 发布于 2010-12-14 09:04:00
麻烦给我传一个高级版本的visual fortran,好么?
我在网上找了好大半天都无果,实在郁闷
QQ:84314116
8 楼
yeg001 [专家分:14390] 发布于 2010-12-14 09:34:00
站内有不少人求过资源, 站内找找吧. cvf ivf都有.
9 楼
wangfan_hit [专家分:0] 发布于 2010-12-14 10:01:00
我找过的,站内这些贴子里提供的下载地址都打不开。。。
我来回复