gpt4 book ai didi

python - 我的函数中的参数太多 - Python

转载 作者:太空狗 更新时间:2023-10-30 00:08:19 25 4
gpt4 key购买 nike

我试图在一个 dll 中访问我的函数,并在其中将值作为整数传递。但是我得到一个 ValueError 作为:

Procedure probably called with too many arguments (4 bytes in excess)

我的 python .py 脚本如下:

func2.restype = c_int
func2.argtypes = [c_int]
func2(3)

...

我在 dll 中的实际功能只是一个简单的功能,如:

int DLLfun2(int argtest) { return argtest + 1; };

...

看起来是个简单的问题,但我猜我漏掉了什么。请帮忙。

干杯。

最佳答案

看起来很奇怪,因为应该自动转换整数,但请尝试使用 func2(c_int(3))

编辑:根据ctypes doc , 由于错误的调用约定(cdecl 而不是 stdcall),可能会引发此异常。但是函数仍然被调用(只是一种警告 :s)

确保你在你的 dll 中声明。

如果你用windll加载你的库,它必须使用stdcall调用约定,否则,使用cdll模块。

关于python - 我的函数中的参数太多 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7413894/

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