我有一个包含 6 个函数的纯 C 文件,我想为 Fortran 程序员提供这些函数:
http://tinyfiledialogs.sourceforge.net
C 到 Fortran 的“导入”可行吗?
我是否应该简单地准备一些类似 Fortran 头文件的东西?
我意识到我的 C 代码使用了多个 Unix 或 Windows C 头文件,这会使转换复杂化。但是,为 6 个 C 函数提供相当于 Fortran header 的功能肯定是可以实现的。
char const * tinyfd_inputBox (
char const * const aTitle ,
char const * const aMessage ,
char const * const aDefaultInput ) ;
// the returned value is a static array
编辑:我开始意识到模块实际上是依赖于编译器的。 也许我应该准备一个生成 C 目标文件和 fortran 模块的 makefile 来使用它。
最佳答案
如果您的目标是让 Fortran 程序员的生活更轻松,并帮助他们直接在他们的程序中使用您的 C 代码,那么您可能想要考虑生成提供接口(interface)的 Fortran 模块。这些与您的示例 header 有些相似,因为它们定义了例程类型以及所需的输入和输出。
我在这方面不是特别有经验,所以我不会在这里给出具体的例子,但我会让你引用this site .另一个有用的信息来源是查看其他软件包如何执行此操作,例如 netcdf和 PETSc .
关于c - 如何从 C 头文件准备 Fortran 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37673536/