2016-10-04 8 views
-1

나는 Fortran90에 코드를 작성하고 있습니다. 내가 1의 오류로 분류 할 수없는 문

누군가가 말해 줄 수 내가이 문제를 어떻게 해결합니까

내가 Unclassifiable statement at 1.의 라인 CCS = &에서 오류가이 문제를 컴파일 할 때

subroutine QualModel(CCS, TI, AIdex,t_max) 
use Global 
implicit none 
DOUBLE PRECISION :: CCS, TI, AIdex 
DOUBLE PRECISION,DIMENSION(10) :: t_max 

CCS = 0.0 
TI = 0.0 
AIdex = 0.0 

CCS = & 
24.36597157615 + & 
(-6.56894015990892) * (ustrand * 60.0) 

: 나는 다음과 같은 코드가? 나는 다른 질문을했지만 그 중 대부분이 paranthesis 문제를 제안했지만 여기에는 그런 문제가 없습니다.

+0

파일 접미사 란 무엇입니까? 자유형 또는 고정형 소스를 사용합니까? 주위에 많은 (많은!) 유사한 질문이 있습니다. 당신이 그들을 보았습니까? 컴파일을위한 정확한 명령 행은 어떻게 생겼습니까? –

답변

1

블라디미르 F가 주석에 지적했듯이, 파일 접미사는 Fortran 코드에서 중요하며 컴파일러에게 코드를 해석하는 방법을 알려줍니다.

코드

당신은 몇 가지 변수 선언 ( ustrand가), 나없는 모듈 ( Global)를 사용하고 end를 벗어났습니다 미스를 기록했다. 그러나, 나는 당신 아래와 같이 .f/ .f90 접미사를 사용하는 경우 컴파일이 다른

subroutine QualModel(CCS, TI, AIdex,t_max) 
implicit none 
DOUBLE PRECISION :: CCS, TI, AIdex,ustrand 
DOUBLE PRECISION,DIMENSION(10) :: t_max 

CCS = 0.0 
TI = 0.0 
AIdex = 0.0 

CCS = & 
24.36597157615 + & 
(-6.56894015990892) * (ustrand * 60.0) 
end 

매우 유사합니다 다음 코드를 사용합니다. 파일의 .f 접미사를 고수해야하는 경우 gfortran 컴파일러에 대해 -ffree-form 옵션을 사용하여이 입력을 허용하도록 알릴 수 있습니다.

$ gfortran --version | head -n 2 
GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) 
Copyright (C) 2015 Free Software Foundation, Inc. 

$ gfortran -c test.f90 
$ gfortran -c test.f 
test.f:1.1: 
subroutine QualModel(CCS, TI, AIdex,t_max) 
1 
Error: Non-numeric character in statement label at (1) 
test.f:1.1: 

subroutine QualModel(CCS, TI, AIdex,t_max) 
1 
Error: Unclassifiable statement at (1) 
test.f:2.1: 
<... omitted remaining errors ...> 

$ gfortran -c -ffree-form test.f 
+1

문제는 오류 메시지가 다릅니다. 당신은 단지 추측입니다. ~ 그것은 당신에게 달렸지 만, 일반적으로 OP에서 문제가 어디서 발생했는지 알 수있는 정보를 얻으려고합니다. –

+0

첫 번째 문자의 첫 번째 줄에있는 문제는 @Harald가 그것을 못 박았 음을 나타냅니다. – Holmz

+0

오류 메시지가 <... 생략 된 나머지 오류 ...> 직전에 표시됩니다 (다른 행에서 OP가 지적한 줄의 오류가 몇 줄 아래 있음). 그러나 요청해야한다는 데 동의합니다. OP에 대한 추가 정보. – Harald