Python中文
首页
教程
问答
标签
搜索
登录
注册
Python使用ctypes访问DLL函数- 使用函数*名称*失败
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p><code>myPythonClient</code>(下面)希望调用<code>ringBell</code>函数(使用<code>ctypes</code>从DLL加载)。然而,试图通过其<em>名称</em>访问<code>ringBell</code>会导致<code>AttributeError</code>。为什么?</p> <p><code>RingBell.h</code>包含</p> <pre><code>namespace MyNamespace { class MyClass { public: static __declspec(dllexport) int ringBell ( void ) ; } ; } </code></pre> <p><code>RingBell.cpp</code>包含</p> <pre><code>#include <iostream> #include "RingBell.h" namespace MyNamespace { int __cdecl MyClass::ringBell ( void ) { std::cout << "\a" ; return 0 ; } } </code></pre> <p><code>myPythonClient.py</code>包含</p> <pre><code>from ctypes import * cdll.RingBell[1]() # this invocation works fine cdll.RingBell.ringBell() # however, this invocation errors out # AttributeError: function 'ringBell' not found </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<>你的C++编译器正在对所有外部可见对象的名称进行修改,以反映它们的命名空间、类和签名(这就是过载可能成为可能)。</p> <>为了避免这种错误,需要从非可见代码中看到的外部可见名称(^ ^),{CD1.}}(因此,这些名称不能重载,也不能在C++标准中,它们可以是内联的,在命名空间内,或在类内,尽管一些C++编译器在某些方向上扩展了标准)。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何实现一个类,该类在每次更改其属性时更改其“last_edited”变量?
1 回答
如何实现一个类?
3 回答
如何实现一个类的属性设置?
3 回答
如何实现一个能够存储输入并反复访问输入的存储系统?GPA计算器
4 回答
如何实现一个自定义的keras层,它只保留前n个值,其余的都归零?
6 回答
如何实现一个行为类似于Python中序列的最小类?
1 回答
如何实现一个请求的多线程或多处理
6 回答
如何实现一个长时间运行的、事件驱动的python程序?
6 回答
如何实现一个颜色一致的非舔深度地图实时?
6 回答
如何实现一个默认的SQLAlchemy模型类,它包含用于继承的公共CRUD方法?
9 回答
如何实现一次热编码的生成函数
8 回答
如何实现一种在数组中删除对的方法
5 回答
如何实现一类支持向量机用于图像异常检测
1 回答
如何实现一维阵列到二维阵列的复制转换
1 回答
如何实现三维三次样条插值?
7 回答
如何实现三维数据的连接组件标签?
2 回答
如何实现三角形的空间索引
2 回答
如何实现不同模块中对象之间的交互
1 回答
如何实现不同版本的库共存?
2 回答
如何实现不同的班权重
5 回答