如何使用ctypes查看python中指针值的变化?

问题描述 投票:0回答:1

我想在C语言中实现void函数,在这个函数中我将改变指针值,就像这样。

void func(int* k){ *k = 9; }

正如你所看到的,这里我改变了k值,比如说用9。 我如何在python中用ctypes写这个函数,这样我就可以看到改变的值是什么,在C语言中,让我们说说下面的python代码示例。

import ctypes
d = ctypes.CDLL(r'mydll.dll')
d.our_function.argtypes = (ctypes.POINTER(ctypes.c_int))

正如你所看到的,没有返回,那么我如何在我的python调用中看到我的值被改变了呢?对不起,我的英语不好...

python c++ c ctypes
1个回答
1
投票

你需要分配一个 int 自己在Python中,并传递它的地址,就像这样。

k = c_int()
d.our_function(byref(k))
print(k.value)
© www.soinside.com 2019 - 2024. All rights reserved.