这是我使用
在ubuntu 14.04上编译的程序f95 First.f -o First
,程序是
!My first program
program first
print *,'This is my first program'
end program first
我收到以下错误
Error:Non-numeric character at statement label at (1)
First.f:2.1:
program first
您如何解决此错误?
答案 0 :(得分:26)
将文件从First.f
重命名为First.f90
。
您遇到了一个容易避免的问题。编译器通常假设.f
文件是用所谓的固定源格式编写的,自Fortran 90以来已经过时了。使用.f90
后缀,您的编译器应该会遇到免费来源表单并没有像它一样抱怨。在固定源格式中,每行中的第1-6列保留用于(数字)语句标签。
现在,使用您最喜爱的Fortran资源,了解两种源表单之间的差异。
答案 1 :(得分:1)
正如其他答案所提到的,免费源形式是一个好主意,但是
如果由于某种原因您必须将程序保留在固定源代码形式中,则保留 6 个空格(前 6 列)并从第 7 列开始。
<块引用>该格式为语句标签保留了前五列。第一列用于表示由字母 C 表示的注释。第六列用于表示语句继续(通过插入除零“0”以外的任何字符)。最后 8 列用于卡片识别和排序,如果您将一副纸牌掉在地板上,这将非常有价值!打孔卡的字符编码只有有限的字符集,并且只有大写。
出于这个原因,编译器需要前 6 列的数字语句标签或空格。 Error:Non-numeric character at statement label at (1)
就是这样的结果。
TLDR:如果您必须使用固定源格式(.f
扩展名),请留下 6 个空格并从第 7 列开始,如下所示:
program first
print *,'This is my first program'
end program first