gpt4 book ai didi

module - Fortran 模块的静态库

转载 作者:行者123 更新时间:2023-12-04 16:47:38 24 4
gpt4 key购买 nike

我不是一个非常专业的 Fortran 程序员,但现在我已经编写了许多子例程(在 Fortran 90 中),我必须将它们放在模块中(由其他子例程和程序中的“use”语句使用)以避免编写接口(interface)。我必须将这些模块与用 F77 编写的旧代码一起使用。
我不希望编译器一次又一次地编译这些模块。所以我在编译这些模块后从“.o”文件创建了一个静态库:
ar rc libmymath.a module1.o module2.o module3.o
但是,我仍然需要保留这些模块的“.mod”文件,以便能够在我的代码中“使用”它们。

我的问题:是否可以将这些“.mod”文件打包到静态库存档“.a”中(就像我们对 .o 文件所做的那样),以便将所有内容都封装在单个文件静态库中?

P.S:我的意思是在我的系统中的任何地方,它们都使用 gfortran 64 位。

最佳答案

不,这是不可能的。

与 C/C++ 类似,.mod文件就像一个头文件。它描述了模块的内容和USE <module>类似于 #include <header> .

这些 mod 文件是编译器(甚至通常是版本)特定的,并且是必需的,因为模块名称会破坏函数,因此需要一个查找表来查找结果函数名称。

关于module - Fortran 模块的静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14190463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com