我想在许多自编译的F2PY扩展模块之间共享fortran90模块中的数据。F2PY的文档说这是不可能的,因为Python通常是如何导入共享库的。在
F2PY generates wrappers to common blocks defined in a routine signature block. Common blocks are visible by all Fortran codes linked with the current extension module, but not to other extension modules (this restriction is due to how Python imports shared libraries).
[...]
The F2PY interface to Fortran 90 module data is similar to Fortran 77 common blocks.
由于我必须使用大约100个嵌套的Fortran 90子例程,因此需要在它们之间共享数据。有什么建议吗?在
我考虑过将每个变量作为参数传递给每个子例程,然后返回变量,但这听起来有点不对。在
虽然只是一种尝试和错误的方法,但是如何将变量模块和所有的子例程放入一个文件中并用f2py(*1)编译它?例如。。。在
mytest.f90:
变量f90:
^{pr2}$子1.f90:
子2.f90:
编译:
测试:
(*1)在上面的情况下,简单地将所有文件名赋给f2py就足够了,例如
相关问题 更多 >
编程相关推荐