一般在C++的DLL的库中,多使用GetModuleFileName接口来获取当前DLL的执行路径,是非常nice的处理,但是如过把用Python调用DLL,就会发现其在DLL中用GetModuleFileName获取的路径与C++获取的不一样;
调试发现Python调用DLL是把DLL加载Python的根目录下运行,这个时候使用DLL创建临时目录,或获取其运行路径就Python的根目录了。
所以在DLL给Python调用,如果要指定输出的临时目录,建议改一下DLL中获取work Path函数;
使用GetCurrentDirectory可以很好的解决;