如何在Python中使用C结构?

3 投票
2 回答
6656 浏览
提问于 2025-04-16 23:44

我有一个简单的C语言函数。

typedef struct {
    long unsigned int First;
    long unsigned int Second;
    int c;
} FRAGMENTS;

struct out {
    long unsigned int Four;
    FRAGMENTS fragments[10000];
};
struct out test() {
    struct out *out = (struct out *)malloc(sizeof(struct out));
    ...
    return *out
}

我该如何在Python中使用这个函数呢?有没有什么例子可以把这个结构转换成Python对象(使用Python包装器)?

2 个回答

1

最简单的方法是使用SWIG来为你的C代码生成一个Python的包装器。你还可以用它为很多其他脚本语言生成绑定或包装器。

1

你已经把数据“放进”Python里了吗(比如说从网络上获取的,或者是从一个二进制文件里)?那你可以使用struct这个模块。

撰写回答