Python中文
首页
教程
问答
标签
搜索
登录
注册
通过C DLL调用函数时出错
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个DLL,其中的头文件和.c文件如下:</p> <pre><code>//demo.h #define vers 0x1 __declspec export void getversion(ulong * version); //demo.c #include"demo.h" void getversion(ulong * version) { *version=(ulong)vers; } </code></pre> <p>我为使用ctypes调用DLL编写的python脚本如下:</p> <pre><code>//python script import ctypes import sys from ctypes import * vers=0x1 def getversion(version): mydll=cdll.LoadLibrary('demo.dll') mydll.getversion.argtypes=[POINTER(c_ulong)] mydll.getversion.restype=None mydll.getversion(version) version=c_ulong() print("Version=",version.value) </code></pre> <p>但我得到的版本值是0。 输出应该是1。 有人能帮我做以下代码吗?我不知道我哪里出错了?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我认为你应该这样做:</p> <pre><code>mydll = cdll.demo # just a simpler way to load the dll, not the solution yet ver = c_ulong() mydll.getversion(byref(ver)) print(ver.value) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
7 回答
如何添加表示整数的擦边字符串?
10 回答
如何添加要在Bokeh中使用的新font.ttf文件?
10 回答
如何添加要显示的矩阵XY轴编号和XY轴
3 回答
如何添加计数?
7 回答
如何添加计数器函数?
5 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
6 回答
如何添加计数器来跟踪while循环中的月份和年份?
9 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
1 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
7 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
1 回答
如何添加评论拉梅尔亚姆
2 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
9 回答
如何添加谷歌地点自动完成到Flask?
8 回答
如何添加超时、python discord bot
9 回答
如何添加超过1dp的检查
3 回答
如何添加距离方法
1 回答
如何添加跟随游戏的敌人精灵
1 回答
如何添加路径以便python可以找到程序?
3 回答
如何添加身份验证/安全性以使用happybase访问HBase?
4 回答