sevenjohnny 2013-07-09 07:25 采纳率: 0%
浏览 2848

python调用dll的释放问题

小弟用python 写了个调用SiInterface.dll的adaptor.exe
这里有调用win32api.FreeLibrary()释放dll了,
运行该adaptor.exe后,做完一个交易后,其他程序调用这个dll做交易就会加载不到这个dll,请问是我没释放成功SiIterface.dll 还是adaptor.exe打开运行后,他就一直占用着SiInterface.dll
因为在使用adaptor.exe做完一个交易后关闭该exe,再使用别的程序调用SiInterface.dll就是ok的,请教各位大神如何在不关闭adaptor.exe情况下 还能是别的程序能够访问该SiInterface.dll

def call_mi_dll(sIn):
dll = ctypes.WinDLL('SiInterface.dll')
sIn += ' '*(512-len(sIn))
sOut = ' '*512
i=' '*1024
i=ctypes.c_char_p(i)
sIn = ctypes.c_char_p(sIn)
sOut = ctypes.c_char_p(sOut)
    print "calling: SiInterface.dll -> INIT"
ret=dll.INIT(i)
print "Init :"+str(ret)
print "calling: SiInterface.dll -> BUSINESS_HANDLE"
dll.BUSINESS_HANDLE(sIn, sOut)
win32api.FreeLibrary(dll._handle)
return sOut.value
  • 写回答

1条回答

  • oyljerry 2015-01-03 04:37
    关注

    dll可以被多个进程共享,先看其他进程是否调用到你的dll函数,是不是函数内部处理的问题

    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧