我假设你想坚持使用这个编译器。
如上所述,您使用 F2EXE 批处理文件时遇到的问题,它不是很有用:首先它会自动在文件名中添加“.for”,因此您无法编译“.f”文件,并且它假设自由格式的语法,这在 Fortran 77 编程时是不常见的(如果你想要 Fortran 90,找到另一个编译器,其他答案会给你链接)。
现在,假设您编写了一个程序 myprogram.f,并且您在 Windows 命令行中,在程序所在的同一目录中(例如,使用“cd C:\mydirectory”来更改)
你将编译
g77 myprogram.f
如果您使用 SLATEC,您使用
g77 myprogram.f -lslatec
如果要为 .exe 文件指定名称(默认为 a.exe),请编写
g77 myprogram.f -o myprogram.exe
还有其他有用的选项
g77 -O2 myprogram.f to optimize (within g77 2.95 limitations)
g77 -Wall myprogram.f to enable all compiler warnings, very useful
to find errors in your code
g77 -c myprogram.f to only compile (you get a .o file), this is
useful to compile functions and subroutines, to
later build a static library (.a file), like
libslatec.a which is given with the compiler
并使用 ar.exe 构建一个库:
ar cru mylib.a myfunc1.o myfnuc2.o ...
然后你可以使用 is with
g77 myprogram.f mylib.a
G77 在 Windows 下以命令行方式运行。您在文本编辑器中编写程序。Notepad++ 相当不错而且它是免费的。见http://notepad-plus-plus.org/
如果您在编译时遇到问题,可能来自环境变量,所以这里有一些精度。您必须告诉 Windows 在哪里可以找到 G77 编译器 (g77.exe)。
您可以按照下载它的站点上的说明更改 Windows 的环境变量 PATH 和 LIBRARY_PATH。它需要您将编译器安装在 C:\F 目录中:也就是说,您将拥有 C:\F\G77\bin 等。
对该页面上的说明稍作修改:
- 您应该将PATH设置为C:\F\G77\bin
- 和LIBRARY_PATH到C:\F\G77\lib;C:\F\SLATEC\lib
对 LIBRARY_PATH 的这种修改允许您使用 SLATEC 简单地使用上面的“-lslatec”进行编译。
关于编译器的说明。它是 G77,也称为GNU Fortran 77。一个旧的编译器,在 GCC 3.4.6 之前与众所周知的 GCC 套件集成(我们现在是 GCC 4.7.2)。您下载的编译器适用于 GCC 2.95 版本。
它是一个很好的 Fortran 77 编译器,但优化得不是很好,当然,您不会获得对英特尔 SSE 等新处理器特性的任何支持。
现代 Fortran 编译器仍然可以理解大部分(如果不是全部) Fortran 77,以及 Fortran 90 和更新标准的所有新功能,这些功能非常有用。
知道还有另一个地方可以下载相同的编译器(除了没有 SLATEC)也可能很有趣,以防页面被破坏:
http://www.mbr-pwrc.usgs.gov/software/g77。 html