Fortran Coder

.f90如何调用.f文件

查看数: 2437 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-5-24 09:42

正文摘要:

我遇到这样一个问题,我的程序是.f90的。但是我需要调用一个.f文件。我以往的做法是把.f文件中的subroutine复制到.f90程序下。但是这次显示不兼容。请问有什么办法解决吗? ...

回复

kyra 发表于 2022-5-25 21:02:25
你确定是可执行文件而不是库的话。进程调用或内存调用都可以(这是两条路),主要取决于你的目的。
最简单的就是在 b.f 代码里合适位置 system("./a") 就行了。
kyra 发表于 2022-5-25 14:39:16
你的开源函数库,编译后是个可执行文件还是库?
1. 如果编译后是可执行文件,那看你要如何调用。
      a. 如果是可执行文件调用可执行文件。那么在 b.f 代码里合适位置 system("./a") 就行了。
      b. 如果是内存调用。需要把开源函数库从“编译成可执行文件”修改为“编译成库”
2. 如果编译后就是库。假如编译后是 a.a,那么
$ gfortran a.a b.f -o ex1ftest3
zjk0112 发表于 2022-5-25 14:10:05
vvt 发表于 2022-5-25 08:18
在另一个帖子里看到你是linux下用的gfortran。那么很简单。

$ gfortran a.f90 a.f -o ex1ftest3 ...

可是我的a.f90文件是第三方的开源函数库,它里面的路径是用makefile就直接写好的。b.f文件不是这个函数库的,我都是 $make a,就直接编译了。那这种情况b.f文件也是在命令行里添加吗?还是要自己改makefile文件
vvt 发表于 2022-5-25 08:18:39
本帖最后由 kyra 于 2022-5-25 08:57 编辑

在另一个帖子里看到你是linux下用的gfortran。那么很简单。

$ gfortran a.f90 a.f -o ex1ftest3

评分

参与人数 1F 币 +1 收起 理由
kyra + 1 赞一个!

查看全部评分

vvt 发表于 2022-5-25 08:16:28
2个文件。分别编译,然后一起链接。

具体操作要看你用的什么编译环境。

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-3 01:57

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表