0
我试图让一个C++库作为Python模块提供。看起来SIP是这份工作的最佳工具。 (如有错误,欢迎指正。)SIP如何处理返回int的C++方法*
一类貌似程序员试图绕过C'S缺乏动态类型:
class Item{
private:
enum ITEMTYPE{TYPE_INT,TYPE_FLOAT,TYPE_INT_ARRAY,TYPE_FLOAT_ARRAY};
enum ITEMTYPE type;
int intValue;
int* intArrayValue;
float floatValue;
float* floatArrayValue;
public:
enum ITEMTYPE getType();
int getItemCount();
int getIntValue();
int* getIntArrayValue();
float getFloatValue();
float* getFloatArrayValue();
...
};
我找不到文档的任何地方,说如何处理功能返回数组。至少,我希望能够从Python中调用getIntArrayValue()。更好的办法是有一个自动调用getType()的Python函数,然后调用其中一个get ??? Value()来获取该值(如果需要,调用getItemCount()来确定数组长度,处理数组。作为numpy的或元组
我现在.sil文件是这样的:提前
class Item{
%TypeHeaderCode
#include<Item.h>
%End
public:
enum ITEMTYPE{
TYPE_INT=0,
TYPE_FLOAT=1,
TYPE_INT_ARRAY=2,
TYPE_FLOAT_ARRAY=3,
};
ITEMTYPE getType();
int getItemCount();
int getIntValue();
//int*getIntArrayValue();
float getFloatValue();
//float*getFloatArrayValue();
};
谢谢,我一直在寻找这么辛苦,但都拿出了空