Python-python 异常错误

发布于 2016-12-26 01:58:00 字数 685 浏览 1371 评论 1

python调用c++动态库,使用ctypes,一直报错

ValueError: Procedure probably called with too many arguments (20 bytes in excess)

c++端dll代码
DOUBANGOAV_API bool doubangoAV_Register(const char* sName, const char* sImpu, const char* sImpi,const char* sPassword, const char* sRealm);

调用这一句我抓包了是有数据包的,而且程序要实现的功能也成功了,但是python一直抛这个问题,导致主界面一直崩溃,python官网说明的解决方式没看明白,只是举例了一下,让我对比一下参数类型,我参数类型经过修改
ip = c_char_p(self.thread_ip)
sipAccount = c_char_p(self.thread_sipAccount)
sipInfo = c_char_p(self.thread_sipInfo)
sipAccountInfo = c_char_p(self.thread_sipAccountInfo)
sipPass = c_char_p(self.thread_sipPass)

现一直不能解决这个问题,哪位对python了解的大神望指导一下

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

偏爱自由 2017-10-17 15:27:57

找到问题了,原因是我引用的是c++的动态库,因此不能用windows的引用规则,得用cdll来引用dll动态库

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文