在 C 中看到以下模式很常见:
/* struct definition */
typedef struct {int x,y,z} vector_t;
/* Methods that always take defined struct as first argument */
int vector_add_scalar(vector_t *v, int s);
int vector_sub_scalar(vector_t *v, int s);
显然,在 OOP 中,类比是拥有一个向量对象,然后上述函数成为它的方法。我想知道的是使用 SWIG 将上述示例转换为其 OOP 等效项的最佳方式。我是否应该在我的接口文件中从头开始定义一个类(在这种情况下,我不妨编写自己的绑定)?是否有我缺少的命令行选项?或者也许该%extend
指令是我正在寻找的,尽管我看到的所有示例都涉及在接口文件中编写您自己的代码?任何和所有输入将不胜感激!