我正在使用ctypes,我正在将一个ndarray传递给一个c函数.
它给了我奇怪的输出行为.
下面是一些代码:
它给了我奇怪的输出行为.
下面是一些代码:
C-功能:
int foo(int * foo,int N){ for(int i=0;i<N;i++){ cout << "i " << i << " "<< foo[i] << endl; } return 0; }
Python:
from ctypes import * import numpy as np bar = cdll.LoadLibrary(".../libtest.so") N = c_int(10) check = np.ones(10,dtype=int) print check bar.foo(c_int(check.ctypes.data),N)
输出:
[1 1 1 1 1 1 1 1 1 1] i:0 out:1 i:1 out:0 i:2 out:1 i:3 out:0 i:4 out:1 i:5 out:0 i:6 out:1 i:7 out:0 i:8 out:1 i:9 out:0
一切都对吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。