我正在尝试使用scipy.weave.inline将一个ctype变量传递给内联c代码。有人会认为这很简单。当使用普通的python对象类型时,文档是很好的,但是,它们有比我需要的更多的特性,在使用C时使用ctype对我来说更有意义,但是我不确定我的错误在哪里。
from scipy.weave import inline
from ctypes import *
def test():
y = c_float()*50
x = pointer(y)
code = """
#line 120 "laplace.py" (This is only useful for debugging)
int i;
for (i=0; i < 50; i++) {
x[i] = 1;
}
"""
inline(code, [x], compiler = 'gcc')
return y
output = test()
pi = pointer(output)
print pi[0]发布于 2009-08-26 16:47:51
scipy.weave对ctype一无所知。输入仅限于大多数基本的内置类型、numpy数组、wxPython对象、VTK对象和SWIG包装对象。不过,您可以添加自己的转换器代码。目前没有太多关于这方面的文档,但您可以将SWIG implementation作为一个有指导意义的示例。
https://stackoverflow.com/questions/1137852
复制相似问题