gpt4 book ai didi

Python-C API : Trouble packing C strings into a tuple

转载 作者:太空宇宙 更新时间:2023-11-04 03:59:46 26 4
gpt4 key购买 nike

在下面的代码中,我试图将两个以 null 结尾的 C 字符串(字符指针)打包到一个 Python 元组中。

printf("word1 = '%s', word2 = '%s'\n", words1->wordArray[i], words2->wordArray[i]);
cmpArgs = Py_BuildValue("ss", words1->wordArray[i], words2->wordArray[i]);
printf("%s\n", PyString_AsString(PyTuple_GetItem(cmpArgs, 0)));

这会产生如下输出:

word1 = '20', word2 = '20'
i┴

为什么元组中的字符串与元组外的字符串不同?我究竟做错了什么?另外,我是否需要担心增加和减少这个元组的引用计数? (我正在创建它以传递给作为 PyObject* 传递给 C 的 Python 函数)

最佳答案

我想我明白了——我之前使用堆栈空间以一种奇怪的方式存储单词。我开始为他们手动分配堆上的空间,这似乎已经修复了它。

关于Python-C API : Trouble packing C strings into a tuple,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13182549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com