Fortran运行错误

时间:2014-10-29 05:56:30

标签: fortran

我有一个必须运行的Fortran代码,但遗憾的是我没有使用Fortran的任何经验。我尝试使用不同的Fortran版本运行代码,但没有任何作用。

以下是代码的链接:http://cpc.cs.qub.ac.uk/summaries/adpw

如果有人能告诉我应该使用哪个Fortran版本,那就太棒了。

以下是详细信息:

当我尝试使用gfortran时:

gfortran numcbas.f < numcbas_c.data 
Segmentation fault: 11

当我使用g77运行时:

g77 numcbas.f < numcbas_c.data

ld: warning: -macosx_version_min not specified, assuming 10.10

ld: warning: PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in __start from /usr/lib/crt1.o. 

To fix this warning, don't compile with -mdynamic-no-pic or link with -Wl,-no_pie

这是代码的开头:

  program NUMCBAS

  IMPLICIT DOUBLE PRECISION (A-H,O-Z)

 MAIN DRIVING ROUTINE

  CHARACTER*120 TITLE
  DIMENSION IBUG(3),HRXS(10),IRXS(10)
  COMMON /BASCON/ HRX(10),IRX(10),NIX,IRA
  DATA TITLE /'        '/
  DATA HRXS/1.D-02,2.D-02,2.605D-02,7*0.D0/
  DATA IRXS/30,120,500,7*0/,IBUG/3*0/

  INTEGER :: NFTA=6,LUNUMB=13, LVAL=0
  DOUBLE PRECISION :: BTOL=0.2D0, TINY=1.D-11
  DOUBLE PRECISION :: ECMAX=10.D0, RLIM=10.D0, CHARGE=0.D0

  NAMELIST /INPUT/ TITLE,LUNUMB,NIX,IRX,HRX,lval,IBUG,BTOL,
 *                 TINY,ECMAX,RLIM,CHARGE

  WRITE (6,1000) 

和输入文件:

&INPUT 
TITLE='IONIC TARGET',
lval=0, ECMAX = 5.00D0,  
RLIM = 12.0D0, CHARGE=1.0D0,/

1 个答案:

答案 0 :(得分:0)

在我看来,你完全误解了编译和运行的过程。

这些行是可疑的:

gfortran numcbas.f < numcbas_c.data

g77 numcbas.f < numcbas_c.data

没有理由将数据文件重定向到编译器命令。编译器首先必须创建一个可执行程序,然后您可以使用您的数据运行该程序。通常,会创建一个文件./a.out,然后运行它

./a.out < some_data_to_stdin

非常奇怪的是,在没有任何其他错误消息的情况下运行gfortran会出现Segmentation故障。您确定上面显示的命令正是您正在运行的命令吗?