您的位置:首页 > 编程语言 > Python开发

Python Ctypes 多级指针 传参数 和返回值

2017-09-08 15:09 621 查看
最近在搞神经网络框架这块,由于框架是用C++写的但是后续的操作不想再用C++写(主要C++写的头疼)所以准备将后面的工作转入python中写这里涉及到利用Python 和Ctypes 来实现python调用C++的接口。

由于用到很多数组我这里全都是标志着指针的如果是二维就是
double ** arry 三维就是 double *** arry所以肯定是要涉及到多级指针的传入和返回问题接下来进入正题:
首先是C++那边如果返回是一个(以三级指针为例)三级指针python这边要接受写法:


work.Test.restype = POINTER(POINTER(POINTER(c_int)))


先声明这个C++的方法要返回的类型是一个三级指针,这里的POINTER这个就是代表括号里的指针(具体的可以自己翻阅文档)。


nums = work.Test(2);


然后就可以直接调用就能够返回一个(int类型的)三级指针。其实就是三维数组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐