python - 将 Python 结构的地址传递给 C 函数

标签 python c

我想将结构的地址传递给 C 程序。在 C 中,我会使用类似 fun(&vendorRecord) 的东西。我尝试了在互联网上找到的各种形式,但没有任何效果。有人可以给我建议吗?

我的结构是这样的:

class vendrRecord(Structure):
    _pack_ = 1                                            # pack the struct
    _fields_ = [
        ("vendorListNumber"      ,c_ubyte *(5)),
        ("vendorNumber"          ,c_ubyte *(5)),
        ]

我的 C 结构如下所示:

struct  {
    unsigned char vendorListNumber[5];
    unsigned char vendorNumber[5];
} vendrRecord;

我的 C 原型(prototype)如下所示:

void fun(void *record);

我的 C 调用如下所示:

fun(&vendrRecord);

最佳答案

VendrRecord = vendrRecord()
fun(byref(VendrRecord))

关于python - 将 Python 结构的地址传递给 C 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693335/

相关文章:

python - pandas iterrows 中长整数的奇怪行为

c - 使用 getnameinfo() 解析以十六进制格式给出的 IP 地址

c - PAPI 和 native 事件

c - const 结构实例中成员的有效类型?

c - 用 C 实现 BMI 计算器

python - 列表乘积的递归函数不起作用

python - 加载特定用户的登录逻辑

python - 使用分类数据构造稀疏矩阵

python - 使用 pygame 显示高分辨率 .png 图像

C语言中字符串转长时间