如果我有以下两个代码集,如何将它们粘合在一起?
void
c_function(void *ptr) {
int i;
for (i = 0; i < 10; i++) {
printf("%p", ptr[i]);
}
return;
}
def python_routine(y):
x = []
for e in y:
x.append(e)
我该如何使用一个连续的 x 元素列表来调用 c_function?我尝试将 x 强制转换为 c_void_p,但这并没有起作用。我还尝试使用类似于下面的东西:x = c_void_p * 10
for e in y:
x[i] = e
但这会得到一个语法错误。
C 代码明显需要数组的地址。我该如何让它发生呢?
pyarr
是一个普通的 Python 列表,就像pyar = [1,2,3,4]
。如果你想知道名字前面的星号是什么意思,请查看这个链接:https://dev59.com/PnRC5IYBdhLWcg3wJNcN - Gabi Purcaruarr
变量呢?我们肯定不必在这里使用 C 语言中的free()
函数,对吧? - Sergiy Kolodyazhnyy