SWIG, py + C: no attribute under poin

2024-09-26 17:57:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我对SWIG(C+python)有个奇怪的问题

在C语言中,我有一个函数返回指向structelements_t的指针。我在python中调用函数,得到结果(指针),但是我不能访问结构的元素。。在

typedef struct elements elements_t;
struct elements {
    int nelements;
    // ... other stuff
};

elements_t* get_elements()
{
    elements_t* p;
    // ...
    return p;
}

在python中我会:

^{pr2}$

所以我得到最后一个错误,即没有nelements,即使p指向一个正确的结构。。。在


Tags: 函数元素elements结构structswigint指向
2条回答

根据swigforpython文档的pointers部分:

The only thing you can't do is dereference the pointer from Python.

您需要取消引用该指针以访问其成员。您需要用C编写访问器/赋值函数来操作结构成员。在

这并不漂亮,但您可以编写允许您使用指针的访问器函数。在

相关问题 更多 >

    热门问题