在使用Fortran开发静态库的情况下:具有许多模块的静态库
该库由多个模块组成,例如, “模块a”,“模块b”等。
每个模块都有公共变量,类型和过程。
现在,想在程序“测试”中使用lib。
一种可能的方法是使用每个模块,并在链接期间提供* .a lib文件。例如:
program test
use a
use b
...
end program
但是,如果只需要使用/包含一个模块/ * .h会更好。例如: -
program test
use all
...
end program
一个可行的办法是将所有的公共变量,类型和程序界面复制到“模块的所有”,并使用“模块的所有”,而不是单独的模块。
但是,如果修改了单个模块中的任何一个,则“模块全部”也需要修改以符合更改。
是否有更合适的解决方法,或者是否有自动生成“模块全部”的工具?
非常感谢您的任何输入。
是的,那将是最好的。我花了很长时间才意识到,如果我不使用'private',我现在使用尽可能多的,那么导入的模块符号会再次导出。 – 2012-04-10 08:57:37
谢谢你的回答。因此,需要在包含文件夹中提供所有单独的模块。所有使用的单独模块都需要使用驱动程序进行编译,这使得* .a几乎无用。是对的吗? – mianzhi 2012-04-10 12:51:28