Fortran中的赋值形式无效

Fortran中的赋值形式无效,fortran,Fortran,我无法使用g77 minGW编译器或g95编译器编译此代码。有人知道为什么吗 我对77国集团有以下错误: diff5z10.for:在子程序“衍射”中: diff5z10。对于:579: Tropo100 = 20.34 - .077 * Dist ^ 位于的赋值语句的表单无效^ diff5z10。对于:581: IF (Freq .GT. 1000) FreqAdj = 24.5 - 7200/(Freq+3000) ^ 位于的赋值语句

我无法使用g77 minGW编译器或g95编译器编译此代码。有人知道为什么吗

我对77国集团有以下错误:

diff5z10.for:在子程序“衍射”中:

diff5z10。对于:579:

    Tropo100 = 20.34 - .077 * Dist
             ^
位于的赋值语句的表单无效^

diff5z10。对于:581:

    IF (Freq .GT. 1000)  FreqAdj = 24.5 - 7200/(Freq+3000)
     ^
位于的赋值语句的表单无效^

在使用g95编译时,我会遇到以下错误:

在文件diff5z10中。for:574

  CLUTTER = steep*CLUTTER
  1
错误:1处的不可分类语句 在文件diff5z10中。for:580

  FreqAdj = 23.978 - 58026.76 / (Freq + 2320)
  1
错误:1处的不可分类语句

以下是本节程序的代码: 从第362行开始

   Span = .28 - .144 * (Round - 1.2)
   Para = C / Span**2
  IF (Ratio .GT. .4) Para = 6.25 * (C - 1)
  CLUTTER = Para * (RATIO - .4)**2 - C  
  IF (CLUTTER .GT. 0.) CLUTTER = 0.


  CSlope =  SQRT(freq)/350
  steep = 1 + CSlope * (dist - Horizon)
  IF (steep .LT. 0) steep = 0
  IF (steep .GT. 1) steep = 1
  CLUTTER = steep*CLUTTER



 Tropo100 = 20.34 - .077 * Dist
 FreqAdj = 23.978 - 58026.76 / (Freq + 2320)
 IF (Freq .GT. 1000)  FreqAdj = 24.5 - 7200/(Freq+3000)
 TropoFd = Tropo100 - FreqAdj

  FS_field = 106.9 - 20 * LOG10(Dist)     
  Scatter = TropoFd - FS_field         !loss ref to free space
  DiffL = Scatter  -  DLOSS
   Combine = 150/(20 - DiffL) - 5
  IF (DiffL .LT. -10) Combine = 0
  IF (DiffL .GT. 10)  Combine = DiffL
  DLOSS = DLOSS + Combine

  RETURN
  END

假设代码段中的间距反映了源代码中的实际内容,编译器可能会与行延续字符混淆,在古FORTRAN样式中,行延续字符位于第6列或行号字符位于第1-5列。您可以尝试以下几点:

在编译选项中启用自由格式源代码 将文件从myfile.f重命名为myfile.f90,并使用g95重新编译
与往常一样,在处理旧式代码时,标准警告(如always use implicit none)也适用。

假设代码段中的间距反映了源代码中的实际内容,编译器可能会与行继续字符混淆,在古代FORTRAN样式中,第6列或第1-5列中的行号字符。您可以尝试以下几点:

在编译选项中启用自由格式源代码 将文件从myfile.f重命名为myfile.f90,并使用g95重新编译
与往常一样,在处理旧样式代码时,诸如always use implicit none之类的标准警告也适用。

是否检查缩进样式?有时,编译器会以不好的方式处理选项卡,不知道要用多少空格来替换它们。然后它会输出看似随机的错误,因为它不知道行标题在哪里。

您检查缩进样式了吗?有时,编译器会以不好的方式处理选项卡,不知道要用多少空格来替换它们。然后它会输出看似随机的错误,因为它不知道行标题在哪里。

您是否声明了变量,并且在代码中使用了隐式无?如果是,什么是对流层100、距离等的类型。?另外,你确定在使用77国集团编译时启用了自由格式源代码吗?@timwhitcomb-他不必声明变量,只要他做得很整洁。好的,是的,我知道这几天推荐使用它,但我有大约50mb的fortran代码,没有隐式none的痕迹,它的工作原理就像瑞士时钟一样。但他应该检查类型并理解它们!您是否声明了变量,是否在代码中使用隐式NONE?如果是,什么是对流层100、距离等的类型。?另外,你确定在使用77国集团编译时启用了自由格式源代码吗?@timwhitcomb-他不必声明变量,只要他做得很整洁。好的,是的,我知道这几天推荐使用它,但我有大约50mb的fortran代码,没有隐式none的痕迹,它的工作原理就像瑞士时钟一样。但他应该检查类型并理解它们!孩子,我错过了编码的卡片组。等等…不,我没有。孩子,我错过了编码的卡片组。等等……不,我不知道。