Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ctypes<;类型';例外。类型错误'&燃气轮机;_Python_Ctypes - Fatal编程技术网

Python ctypes<;类型';例外。类型错误'&燃气轮机;

Python ctypes<;类型';例外。类型错误'&燃气轮机;,python,ctypes,Python,Ctypes,下面是我试图用python构建包装器的代码 这是total.py文件(*c_t是长度为7的空数组(将在函数中计算),t和rh是长度为Na的数组) 还有python功能 def ini_SR(t, rh, Na): c_time = ctypes.POINTER(ctypes.c_double * 7) c_freq = _inSR(c_time,t,rh,Na) return c_time.value, c_freq 错误: 文件“”,第1行,在 File "total

下面是我试图用python构建包装器的代码

这是total.py文件(*c_t是长度为7的空数组(将在函数中计算),t和rh是长度为Na的数组)

还有python功能

def ini_SR(t, rh, Na):
    c_time = ctypes.POINTER(ctypes.c_double * 7)
    c_freq = _inSR(c_time,t,rh,Na)
    return c_time.value, c_freq
错误: 文件“”,第1行,在

File "total.py", line 28, in ini_SR

c_time = ctypes.POINTER(ctypes.c_double * 7)
ctypes.ArgumentError: argument 1: <type 'exceptions.TypeError'>: expected LP_c_double  instance instead of _ctypes.PyCPointerType
文件“total.py”,第28行,在ini\u SR中
c_time=ctypes.POINTER(ctypes.c_double*7)
ctypes.ArgumentError:参数1::应为LP_c_双实例,而不是_ctypes.PyCPointerType
线路

c_time = ctypes.POINTER(ctypes.c_double * 7)
声明一个类型。您需要将类型的实例传递给C函数调用,而不是类型本身

尝试将此行替换为

c_time_type = ctypes.POINTER(ctypes.c_double * 7)
c_time = c_time_type()

(你可以改为写
c_time=ctypes.POINTER(ctypes.c_double*7)(
)-注意结尾的括号-但我觉得不太清楚。)

谢谢你的回答。但是,我得到了
OSError:exception:access invalization writing 0x68743078
@hamaney:如果您有一个单独的问题要问(例如,“我为什么会遇到这个错误?”),请另外问一个问题。还请在这个问题中包含生成您所看到的错误的代码:我猜它与这个问题中的不完全相同。
c_time_type = ctypes.POINTER(ctypes.c_double * 7)
c_time = c_time_type()