我有一些数字代码需要转换为 C 或 C++。我试过使用 f2c,但它不适用于 Fortran 代码。 f2c 提示是因为代码使用了 C 风格的预处理器指令 (#include)。 该代码的自述文件指出它是 Fortran77,它与 fort77 链接器一起工作,将扩展这些包含。
有谁知道如何成功转换这段代码?
我最后的办法是编写一个简单的预处理器来扩展这些包含,然后将代码提供给 f2c。
注意:我在这里的 Windows/Visual C++ 环境中工作,所以任何 gcc 恶作剧都可能比它们的值(value)更麻烦......
最佳答案
我在一个工程研究小组工作了很多年。从 Fortran 到 C 的自动转换,我们从来没有运气好。代码不是特别容易理解,而且很难维护。我们最好的运气是使用 Fortran 代码作为算法的模板,并对我们希望继续使用的任何东西进行重新实现。或者,您可以更新 Fortran 以使用更现代的 Fortran 结构,并获得许多与迁移到 C/C++ 时相同的值(value)。我们也成功地从 C 调用 Fortran 例程,尽管调用约定的差异有时会使事情变得困难。
关于c++ - 将 Fortran 语言转换为 C 或 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/322846/