【发布时间】:2011-11-07 13:47:22
【问题描述】:
我想测试用 ctypes 包装一个 dll。我编写了以下测试代码并使用 Code::Blocks 和 Cygwin 将其编译为 dll。
#define DLL_EXPORT extern "C" __declspec(dllexport)
DLL_EXPORT int sum(int a, int b) {
return a + b;
}
注意:这是整个代码。也许缺少什么?
现在,我将 TestDll.dll 复制到我的桌面并启动 Python 解释器。但是当我想加载它时,解释器就退出了!
C:\Users\niklas\Desktop>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win 32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ctypes
>>> dll = ctypes.WinDLL('TestDll')
C:\Users\niklas\Desktop>
但是,加载任何其他库都可以,如果找不到该库,则会出现错误。
你能告诉我我做错了什么吗?
使用 Cygwin g++ 3.4.4
【问题讨论】: