Python 在ctypes中,当我使用byref或指针时?

Python 在ctypes中,当我使用byref或指针时?,python,Python,我正在使用一个带有ctypes的专有库。我知道库中每个函数的名称和签名 但我有一个疑问。如何知道是否使用byref或指针 我没有经验,所以我欣赏丰富的细节 函数的一些示例: rInfoEstendida1_ECF_Daruma(char *pszInfo1) rLerArqRegistroPAF_ECF_Daruma(char *pszCaminho, char *pszChave, char *pszReturn) 谢谢。来自文档: 它[byref]的行为类似于pointerobj,但构

我正在使用一个带有ctypes的专有库。我知道库中每个函数的名称和签名

但我有一个疑问。如何知道是否使用byref或指针

我没有经验,所以我欣赏丰富的细节

函数的一些示例:

rInfoEstendida1_ECF_Daruma(char *pszInfo1) 
rLerArqRegistroPAF_ECF_Daruma(char *pszCaminho, char *pszChave, char *pszReturn) 

谢谢。

来自文档:

它[byref]的行为类似于pointerobj,但构造速度要快得多


因此,我认为您应该使用byref。

来自文档:

它[byref]的行为类似于pointerobj,但构造速度要快得多


因此,我认为您应该使用byref。

这是一个非常广泛的问题。你能举一些签名的例子吗?指针是保存另一个变量的内存地址的变量。byref与调用方法的时间有关。byref意味着传递对原始对象的引用,因此如果方法对对象进行更改,调用方法将看到更改,而byval意味着复制存储在该变量中的值并将该副本传递给方法。对不起,这是一个很冗长的话题。这是一个非常广泛的问题。你能举一些签名的例子吗?指针是保存另一个变量的内存地址的变量。byref与调用方法的时间有关。byref意味着传递对原始对象的引用,因此如果方法对对象进行更改,调用方法将看到更改,而byval意味着复制存储在该变量中的值并将该副本传递给方法。对不起,这是一个很冗长的话题。通过引用而不是通过值