sipMalloc 用于分配缓冲区时未定义

Posted

技术标签:

【中文标题】sipMalloc 用于分配缓冲区时未定义【英文标题】:sipMalloc is undefined when using to allocate buffers 【发布时间】:2015-08-07 09:12:47 【问题描述】:

大家好,我正在 QT 上开发一个应用程序,我需要从我的应用程序运行 Python 脚本。我正在尝试使用 sipMalloc 函数分配一些内存。这是在 python-SIP 中提供的。我正在使用 PyQt 4 和 python v2.7。

我正在导入 sip.so 我的脚本存在于 /usr/lib/python2.7/dist-packages/ 中

NameError:名称“sipMalloc”未定义

如果在 python 脚本 w.r.t. 中分配内存还有其他选择。 QT 应用请分享。谢谢

******解决****** 我放弃了使用 SIP 的想法。相反,我使用 SWIG 和 python 来创建导出函数库。并且 SWIG 还提供了使用 malloc 分配内存的选项,可以直接在 Python 脚本中使用。感谢您的帮助。

【问题讨论】:

***.com/q/14804084/1329652的可能重复 sipMalloc 是一个 C 函数。它不能从 Python 调用。 Python 会自动进行内存分配。请让我们知道您到底想做什么?显示一些 python 代码,假定 sipMalloc 的结果被传递到其中。很可能你不需要这样的东西,或者你应该在包装代码中分配内存,而不是从 Python 中。 谢谢兄弟。我的问题现在解决了 那么请删除您的问题。在目前的状态下,它毫无用处。 【参考方案1】:

我在使用 SIP 时面临的另一个问题是导出现有结构。当我在结构中使用 typedef 和 bit 字段时,SIP 无法识别。但是使用 SWIG,我通过将 .i 文件添加到 python 脚本来导出所有结构。

【讨论】:

以上是关于sipMalloc 用于分配缓冲区时未定义的主要内容,如果未能解决你的问题,请参考以下文章

用于获取数据的自定义反应钩子在第二次点击时未提供数据

使用删除与隐藏时未调用自定义动画

裸机嵌入式 C++:将闪存写入 ram 时未定义对 memcpy 和 memset 的引用

服务中的方法在执行时未定义,但在登录到控制台时未定义

子 JSON 对象未定义时未定义

控制器映射在启动时未记录