我想从Python代码中获取outdata3,outdata4的值。 我用ctypes来调用c函数。 c函数如下:
#include <stdio.h>
void cfunction(int indata1, double indata2, int * outdata3, double * outdata4)
{
int i;
for (i = 0; i < indata1; ++i)
{
outdata3[i] = indata1;
outdata4[i] = indata2;
//printf("indata3 [%d] = %d\n", i, outdata3[i]);
//printf("indata4 [%d] = %1.1f\n", i, outdata4[i]);
}
}
下面的代码是Python代码:
^{pr2}$我可以从上面的代码得到下面的代码。在
[===>19:14:48]one+two:python test.py
<__main__.LP_c_long object at 0x93566ec>
<__main__.LP_c_long object at 0x93566ec>
<__main__.LP_c_long object at 0x93566ec>
<__main__.LP_c_long object at 0x93566ec>
<__main__.LP_c_long object at 0x93566ec>
<__main__.LP_c_long object at 0x93566ec>
<__main__.LP_c_long object at 0x93566ec>
<__main__.LP_c_long object at 0x93566ec>
但我想要下面的值。在
0.0 1.0 2.0 3.0 4.0 5.0
1.0 2.0 3.0 4.0 5.0 6.0
2.0 3.0 4.0 5.0 6.0 7.0
3.0 4.0 5.0 6.0 7.0 8.0
4.0 5.0 6.0 7.0 8.0 9.0
您向cfunction传递了错误的类型。您应该向cfunction传递一个int数组和一个double数组。在
也可以将numpy数组传递给cfunction:
^{pr2}$相关问题 更多 >
编程相关推荐