【问题标题】:How to use c structure in python "?如何在python中使用c结构“?
【发布时间】:2011-10-28 10:08:30
【问题描述】:

我有一个简单的 C 函数。

类型定义结构{ long unsigned int 第一; long unsigned int 秒; 诠释 c; } 片段; 构造{ long unsigned int 四; 片段片段[10000]; }; 结构测试(){ struct out *out = (struct out *)malloc(sizeof(struct out)); ... 返回 *out }

如何在 Python 中使用这个函数?任何将此结构转换为 python 对象的示例(使用 python 包装器)?

【问题讨论】:

  • 为什么要从 C 函数返回 int?这里正确的返回类型是out*

标签: python c wrapper


【解决方案1】:

您是否已经将数据“放入”Python(即来自网络或二进制文件)?比你使用struct 模块。

【讨论】:

    【解决方案2】:

    最简单的方法是使用SWIG 在您的C 代码周围生成a Python wrapper。您还可以使用它为许多其他脚本语言生成绑定/包装器。

    【讨论】:

    • 要调用函数,以及在 Python 对象之间转换输入和输出,请使用 SWIG。不支持直接在 Python 中使用内存 结构,因为它无法移植。 (不同的 CPU 架构和编译器可能会导致 sizeof(FRAGMENTS) 及其字段的排列发生变化。)
    猜你喜欢
    • 1970-01-01
    • 2021-04-23
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 2019-06-05
    • 1970-01-01
    相关资源
    最近更新 更多