f2py 编译带有公开变量的 F77 程序

f2py compiling f77 program with exposed variables

提问人:XYZ 提问时间:7/10/2022 最后编辑:Vladimir F Героям славаXYZ 更新时间:7/14/2022 访问量:70

问:

我试图使用 f77py 编译用 f2 编写的遗留代码。 下面显示了代码片段,以演示我面临的问题。

      PROGRAM TEST
      IMPLICIT REAL*8(A-H,O-Z)
      CHARACTER IFILE*30, TITLE(8)*10
      DIMENSION XINT(100), X(200), Y(200), W(200)
      COMMON /HLM/ DUMMX(2000)
      COMMON /SMY/ DUMMY(2130)
      COMMON /BLK1/ PI,PI2,RAD,CONS
      END PROGRAM TEST

当我使用以下方法编译它时:

f2py -c test.f -m test

但是,当我加载此模块时,我无法看到或访问数组 xint、x、y 和 w
只有公共块变量可用。

Python 3.10.4 (main, Apr  2 2022, 09:04:19) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import test
>>> dir(test)
['__doc__', '__f2py_numpy_version__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '__version__', '_test_error', 'hlm']
>>> dir(test.hlm)
['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'dummx']
>>>

声明这些变量以便可以在 python 中访问它们的正确方法是什么?

谢谢。

python fortran fortran77 f2py

评论


答: 暂无答案