回 帖 发 新 帖 刷新版面

主题:请问如何在fortran中计算程序运行时间

program yy
double precision sum
 real clock_start, clock_finish
 call cpu_time (clock_start)
 sum=254664+63+555+53+5566
write(*,*)'sum=',sum,"CPU Time = ",(clock_finish - clock_start), " seconds"
end
错误信息为:
--------------------Configuration: Text1 - Win32 Debug--------------------
Compiling Fortran...
C:\Documents and Settings\Administrator\桌面\数据\Text1.f90
C:\Documents and Settings\Administrator\桌面\数据\Text1.f90(7): warning FOR4265: symbol CLOCK_FINISH referenced but not set
Linking...
Text1.obj : error LNK2001: unresolved external symbol _CPU_TIME@4
Text1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Text1.exe - 2 error(s), 1 warning(s)




回复列表 (共6个回复)

沙发

program yy
double precision sum
 real clock_start, clock_finish
 call cpu_time (clock_start)
 sum=254664+63+555+53+5566
  call cpu_time (clock_finish)
write(*,*)'sum=',sum,"CPU Time = ",(clock_finish - clock_start), " seconds"
end

板凳

real改為real*8或是Real(8)

3 楼

一定要双精度吗? 虽然我也是用双精度, 不过cputime函数说明好像明示这个要求.

4 楼

以上两位应该注意到
error LNK2001: unresolved external symbol _CPU_TIME@4

而CPU_TIME只有F95标准之后才有
所以(以下省略6个字)

5 楼


那90应该要怎么做才能计算出程序运行时间呢?多谢!

6 楼

90之前没有标准语句,你得去查你所用的编译器文档,一般情况下这些都有编译器扩展,比如dtime之类

我来回复

您尚未登录,请登录后再回复。点此登录或注册