Python Ctypes加载库

时间:2013-01-31 09:04:13

标签: visual-studio-2010 dll python-2.7 ctypes loadlibrary

我正在使用Windows 7 64位机器。我安装了Visual Studio 2010并开发了一个简单的win32 dll来添加2个数字..创建了dll并且我使用了测试应用程序来测试dll并且它工作正常..

现在我编写python脚本(如下所示)来使用这个库。但是我收到以下错误消息。

Traceback (most recent call last):
  File "C:\Users\sbritto\Documents\Visual Studio 2008\Projects\MathFuncsDll\Debug\MathFuncs.py", line 5, in <module>
    lib = ctypes.WinDLL('MathFuncsDll.dll',use_last_error=True)
  File "C:\Python27\lib\ctypes\__init__.py", line 365, in __init__
    self._handle = _dlopen(self._name, mode)
WindowsError: [Error 193] %1 is not a valid Win32 application

Python脚本

import ctypes
from ctypes import *

#lib = cdll.LoadLibrary("MathFuncsDll.dll")
lib = ctypes.WinDLL('MathFuncsDll.dll',use_last_error=True)
print lib

请尽快告诉我。

提前致谢

1 个答案:

答案 0 :(得分:3)

如果您尝试使用为32位计算机编译的Python解释器打开64位DLL,则会出现此错误,反之亦然。因此,如果这是一个64位DLL,您需要确保运行的是64位Python。