如何在 Python 内将一个 SWIG 包装的 C 结构从一种类型转换为另一种类型?

How can I type cast one SWIG-wrapped C struct from one type to another within Python?

我正在使用 SWIG 使 C 数据结构和函数可用于我的 Python 代码。我有 2 个结构如下 -

struct A {
  .....
};

struct B {
  struct A a;
  ......
};

我从 Python 调用了一个 C 函数,其中 returns a (struct A *) b,其中 b 是 struct B.

的一个实例

我可以在我的 Python 代码中输入从 struct A *struct B * 的指针吗?

是的,但这只是因为两个 swig 代理是相同的。

C 对象和 python 对象之间有一层称为代理层。