2014-01-31 114 views
0

我正在使用Python来处理一些数据(int数组)。它非常缓慢。所以我把处理函数放在一个C++ DLL中,并通过ctypes与它进行交谈。数据从swig-wrapped模块(C++)加载。我几乎在任何地方都浏览过,但没有发现任何内容将'int *'类型的swig对象转换为ctypes int指针。我该怎么做?如何将'int *'类型的swig对象转换为ctypes int *

感谢

+0

在C和C++中,指针总是一个数字。确切地说,它是一个intptr_t类型的数字,它是一个平台相关类型的别名,它被别名为足以容纳内存地址的整数类型。所以...为什么不直接传递呢?无论哪种情况,这都是一个数字。 – refi64

+0

如果直接传递了错误的数据地址。除了数据阵列的开始之外的任何地方 – user3255712

回答

0

似乎没有办法做到这一点后,尝试几次。解决这个问题的一个简单方法是用SWIG封装C++代码,所以可以将它传递给其他SWIG封装的模块。