【发布时间】:2016-06-07 07:52:05
【问题描述】:
我有这个纯 C 文件,其中包含 6 个函数,我想让 fortran 程序员可以使用:
http://tinyfiledialogs.sourceforge.net
C 到 Fortran“导入”可以工作吗?
我是否应该简单地准备类似 Fortran 头文件的东西?
我意识到我的 C 代码正在使用多个 Unix 或 Windows C 头文件,这会使转换变得复杂。但是,为 6 个 C 函数提供相当于 Fortran 标头的功能肯定是可以实现的。
char const * tinyfd_inputBox (
char const * const aTitle ,
char const * const aMessage ,
char const * const aDefaultInput ) ;
// the returned value is a static array
edit:我开始意识到模块实际上是依赖于编译器的。 也许我应该准备一个生成 C 目标文件和 fortran 模块的 makefile 来使用它。
【问题讨论】:
-
如果您想回答您的问题,请显示代码。不是指向天使害怕踏入的一些狡猾的、非 SO 的暗网网站的链接。但在您考虑您的问题的话题性之前 - C 到 Fortran 的翻译可以工作吗?当然可以,但你是什么意思?能不能把C翻译成Fortran(我不知道),有没有把C翻译成Fortran的程序(是的,有这样的程序,都是可笑的,工具推荐跑题了)。
-
在fortran中有一个用于绑定C的完整标签,您可能需要查看fortran-iso-c-binding。
-
对于所有碰巧也是标签的词,不必使用
code highlighting。它实际上会损害阅读文本。将其用于代码(变量、函数名......)。您有时可以使用[tag:tag_name],但不要过度使用它。 -
编译的模块确实依赖于编译器(可能还有版本),但源模块文件不是,所以正如你所说,只需在你的 makefile 中添加一个构建规则并分发 fortran 源文件就可以解决这个问题。
标签: c fortran fortran-iso-c-binding