假设我们在 C 中有一个以下结构:
typedef struct buffer
{
uint8_t* const data;
const size_t maxSize;
size_t size;
} buffer_t;
我如何为此制作一个 SWIG 包装器,以便在 Python 中创建 buffer_t 时,它将给定数量的字节分配给数据指针并相应地设置 maxSize?
细节
所以基本上这里的问题与常量结构成员有关。默认情况下,SWIG 使用默认值初始化结构。这会导致问题:
StructWithConsts_t struct;
struct.constant = 5; // Error. This should've been set when creating the struct.
构造函数和析构函数的公认答案为这个问题提供了解决方案。
一只名叫tom的猫
九州编程
相关分类