现在,在我的python代码中尝试调用dll(在Visual Studio 2008下编译)时,我有一种非常奇怪的行为。 我使用ctypes模块导入了dll,如下所示:
import ctypes as C
dll = C.cdll.LoadLibrary("C:\PyRates\\pyrateslibdll.dll")
如果我只在一个代码行中调用dll的一个函数,一切正常,但如果我在for循环中调用相同的函数,即使代码执行相同的操作,我也会得到nans。 例如:
ans = {}
for i in [1,2]:
ans[i] = dll.myfunc(i)
返回:
ans[i] = nan
在一些调用上,如果我执行此代码:
i = 1
ans[i] = dll.myfunc(i)
i = 2
ans[i] = dll.myfunc(i)
我明白了。
有没有人有同样的行为? 谢谢你的帮助 我在Windows 64bit中使用Python 2.7但是dll和python在32位运行。