读书人

python ctypes中数组参数的有关问题

发布时间: 2012-10-10 13:58:11 作者: rapoo

python ctypes中数组参数的问题
有一个.c文件

C/C++ code
void foo(float a[], int n){   int i;   for ( i=0; i<n; i++ )   {     /*something*/   }}


将上面.c文件编程成.so动态链接库
在python中用ctypes载入该库,
问题是怎么向foo()传一个float类型的字符串数组呢

[解决办法]
看看文档有范例说明...

数组:
>>> from ctypes import *
>>> TenIntegers = c_int * 10
>>> ii = TenIntegers(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
>>> print ii
<c_long_Array_10 object at 0x...>
>>> for i in ii: print i,
...
1 2 3 4 5 6 7 8 9 10
>>>

指针:
>>> from ctypes import *
>>> i = c_int(42)
>>> pi = pointer(i)
>>>
也可用byref(i)

读书人网 >perl python

热点推荐