加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python ctypes – 传递numpy数组 – 奇数输出

发布时间:2020-12-16 21:36:01 所属栏目:Python 来源:网络整理
导读:我正在使用ctypes,我正在将一个ndarray传递给一个c函数. 它给了我奇怪的输出行为. 下面是一些代码: C-功能: int foo(int * foo,int N){for(int i=0;iN;i++){ cout "i " i " " foo[i] endl; }return 0;} Python: from ctypes import *import numpy as npba
我正在使用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

一切都对吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读