Fortran Coder

查看: 321|回复: 4
打印 上一主题 下一主题

[求助] 两个module互相USE

[复制链接]

137

帖子

37

主题

0

精华

宗师

F 币
1626 元
贡献
825 点
跳转到指定楼层
楼主
发表于 2025-2-9 00:16:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有两个module会编译到同一个dll中被一个program同时use, 如果这两个module一定要互相USE对方中的一些子程序或者函数,有没有啥子好的办法?
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

268

帖子

0

主题

0

精华

版主

World Analyser

F 币
749 元
贡献
526 点

新人勋章美女勋章元老勋章热心勋章规矩勋章管理勋章

QQ
沙发
发表于 2025-2-9 10:00:21 | 只看该作者
把 module a 和 module b 中需要共同使用的部分抽取成 module c,然后 a use c , b use c

137

帖子

37

主题

0

精华

宗师

F 币
1626 元
贡献
825 点
板凳
 楼主| 发表于 2025-2-9 23:41:45 | 只看该作者
kyra 发表于 2025-2-9 10:00
把 module a 和 module b 中需要共同使用的部分抽取成 module c,然后 a use c , b use c ...

嗯,这是最佳方案。但是如果抽取不便,有没有办法互相use呢?

268

帖子

0

主题

0

精华

版主

World Analyser

F 币
749 元
贡献
526 点

新人勋章美女勋章元老勋章热心勋章规矩勋章管理勋章

QQ
地板
发表于 2025-2-10 16:47:25 | 只看该作者
也没有啥更好(方便、通用)的办法了。

可以尝试把 module a (或/和 module b,反之)的函数都定义成接口,实现都放入 submodule asub 中。
然后 b use a , asub use b。

工作量也差不多,但是更优雅一些。

137

帖子

37

主题

0

精华

宗师

F 币
1626 元
贡献
825 点
5#
 楼主| 发表于 2025-2-12 00:08:02 | 只看该作者
kyra 发表于 2025-2-10 16:47
也没有啥更好(方便、通用)的办法了。

可以尝试把 module a (或/和 module b,反之)的函数都定义成接口 ...

多谢!我再想想怎么办。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2025-2-21 20:40

Powered by Tencent X3.4

© 2013-2025 Tencent

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