【发布时间】:2011-05-17 21:17:27
【问题描述】:
作为我最后一年项目的一部分,我需要将一些 FORTRAN 代码转换为 C 或 C++(无论哪种语言,只要我能理解它,并且我能理解 C 风格的语言)。
我发现了 f2c,一个据称将 FORTRAN 转换为 C 的程序,并尝试按照说明安装它,方法是将 makefile.vc 文件保存在我的驱动器上,然后执行
copy makefile.vc makefile
nmake
(这是包含在 f2c download page 中的关于安装 f2c 的 README 文件的一部分)
在 Linux 或 Unix 上编译 f2c 系统,将 makefile.u 复制到 makefile, 如有必要,编辑 makefile(请参阅 cmets 在它和下面)并输入 “make”(或者可能是“nmake”,取决于 你的系统)。
在 MS Windows 上编译 f2c.exe 使用 Microsoft Visual C++ 的系统,
复制 makefile.vc makefile nmake
使用其他 PC 编译器,您可能需要 用 -DMSDOS 编译 xsum.c(即, 使用 MSDOS #defined)。
如果你的编译器不理解 ANSI/ISO C 语法(即,如果您有 K&R C 编译器),编译 -DKR_headers 。
在文件有的非 Unix 系统上 单独的二进制和文本模式,你 可能需要“make xsumr.out”而不是 比“make xsum.out”。
我正在运行 x64 位版本的 Windows Vista 并尝试了“nmake”,但我得到了
'nmake' 不是内部或外部命令、可运行程序或批处理文件。
经过一番搜索,我下载了 Nmake15.exe,但它在 x64 位机器上不起作用,显然没有它的版本可以。所以我下载了 Windows SDK,在被告知可以工作后,但它并没有改变任何东西。
我在哪里出了问题,如果有的话,有没有办法将 FORTRAN 代码转换成 C 或 C++?
【问题讨论】:
-
一句警告:LanguageA-to-languageB-converters 可以生成正确运行的代码(尽管仅此一项可能相当困难),但几乎没有一个生成人类可读 i> 代码...
-
那你有什么建议?我愿意接受建议,我真的必须以某种方式将 FORTRAN 代码转换为 C 或 C++...
-
什么版本的 Fortran?有好几个。如果 f2c 没有改变,它会转换 Fortran 77。至少有两个较新的版本。
-
@David Thornley:4,实际上(Fortran 90、95、2003、2008)。
-
我想实际上 学习 FORTRAN 是不可能的。 . .
标签: c++ c windows fortran nmake