Python Ctypes 多级指针 传参数 和返回值
2017-09-08 15:09
671 查看
最近在搞神经网络框架这块,由于框架是用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类型的)三级指针。其实就是三维数组。
相关文章推荐
- Python Ctypes 结构体指针处理(函数参数,函数返回)
- python函数,定义,参数,返回值
- 关于二维数据中的一维指针作为函数参数和返回值
- C++指针与函数—指针作为参数和返回值
- C++函数参数和返回值三种传递方式:值传递、指针传递和引用传递(着重理解)
- C++函数参数和返回值三种传递方式:值传递、指针传递和引用传递(着重理解)
- C函数只能有一个返回值,如果需要返回多个值,怎么办,其实很简单,只要将指针作为函数参数传递就可以了
- 函数多个返回值(返回多个参数/局部变量)通过双重指针来实现
- 「python」函数的参数、返回值、类型与函数嵌套
- Python与C参数交互---结构体指针作为参数 实例
- ”引用 & 指针“ -- 作为函数的参数和返回值小结
- python基础之函数参数、嵌套、返回值、对象、命名空间和作用域
- 使用指针作为函数返回值和参数的问题总结
- python装饰器:有参数的装饰器、不定长参数的装饰器、装饰有返回值的函数、通用的装饰器
- C++ 调用Python文件方法传递字典参数并接收返回值
- Python开发基础-Day6-函数参数、嵌套、返回值、对象、命名空间和作用域
- python装饰器:有参数的装饰器、不定长参数的装饰器、装饰有返回值的函数、通用的装饰器
- 指针和引用(概念、使用方法、做参数、做返回值的作用,指针和引用的区别)
- python中的参数传递和返回值
- 指针类型的参数和返回值