我正在尝试学习 fortran90/95,以学习向量和并行科学计算课程。 我正在使用 Windows Vista 32 位,并且我从here下载了适用于我的操作系统的 gfortran 编译器版本(无论如何,我相信是这样的)。
为了测试它是否正常工作,我编写了一个 hello world 程序,如下所示:
program testfortran
write(*,*) 'Hello world!"
end program testfortran
几乎逐字来自 Fortran 教程。 当我尝试编译它时:
gfortran testfortran.f90
它给了我以下回复:
C:\Program files\gfortran\bin/1d.exe: cannot open output file a.exe: Permission denied
collect2.exe: error: 1d returned 1 exit status
作为一名工程师,我几乎所有的编程经验都是使用像 Matlab 这样的解释语言,而我对编译语言不是很熟悉。 我不知道我是否犯了一个非常愚蠢的错误或者什么。 任何帮助将不胜感激。
a.exe: Permission denied
消息意味着您没有写入当前目录的权限。 testfortran.f90
在哪个目录?您可以在同一目录中创建一个文件(例如,echo hello > hello.txt
)吗?你可以在不同的目录下尝试一下吗? (不过,这看起来确实很奇怪;如果您可以在该目录中创建 testfortran.f90
,那么您应该能够在同一目录中创建 a.exe
。)
或者该目录中已经有一个
a.exe
文件,而您无权覆盖它。 尝试一下
gfortran testfortran.f90 -o testfortran.exe
此外,您的错误消息指的是
1d.exe
。我希望它是 ld.exe
,链接器。并且您的示例程序的引号不匹配:'Hello world!"
。最好复制并粘贴源代码和任何错误消息,而不是重新输入它们。