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 用于分配缓冲区时未定义的主要内容,如果未能解决你的问题,请参考以下文章