使用ctypes从python访问Fortran模块PARAMETER

时间:2018-02-27 14:51:08

标签: python fortran ctypes

假设我有一个类似于

的模块
MODULE test_module
    INTEGER, PARAMETER :: var1 = 25
    INTEGER :: var2
    REAL, DIMENSION(var1) :: arr1
END MODULE test_module

我用这个

编译
gcc -shared -fPIC -o libtest.so test_module.f90 

我检查共享对象,它不包含var1

nm libtest.so | grep test_module
0000000000200e00 B __test_module_MOD_arr1
0000000000200e64 B __test_module_MOD_var2

现在在python中我可以加载共享对象并访问var2

import ctypes

lib=ctypes.CDLL("./libtest.so")
ftemp = ctypes.c_int
var2 = ftemp.in_dll(lib,'__test_module_MOD_var2')

如何访问模块中的VAR1

0 个答案:

没有答案