我们使用cygwin创建了一个DLL,并为此编写了一个基于类的python模块。我们为基于类的python模块创建了一个示例脚本,它创建了类的对象并调用了类中的各种方法。当我从IDLE运行它时,这个测试脚本工作正常。但是,当我从命令提示符运行它时,它会挂起或只返回而不执行函数。当它返回时,我没有得到错误跟踪。
当我试图找出问题究竟发生在哪里时。当我尝试调用cygwin1.dll的cygwin_dll_init方法时,会出现此问题。这个cygwin1.dll实际上是对我们构建的DLL的依赖。所以我们必须加载这个DLL并在加载我的DLL之前调用这个cygwin_dll_init方法。
cyg = cdll.LoadLibrary("cygwin1.dll")
cyg.cygwin_dll_init() #hangs or returns here
mydll=cdll.LoadLibrary("my.dll")
mydll.func1()
我正在尝试理解究竟有什么区别,当我们称之为IDLE时,以及当我们使用python命令从命令提示符调用它时。我还必须从命令提示符处获取脚本。
谢谢, Sathish所在