‘壹’ 因为计算机中丢失python26.dll无法启动此程序怎么解决
解决方法:
1、搜索下载丢失的相关dll文件;
‘贰’ IronPython 将python源码编译成dll,用python调用报错ImportError: dynamic mole does not define...
如果你要制作一个python mole名为myjz,那么就必须定义一个mole入口函数:initmyjz()
‘叁’ python调用dll中的函数时报错
似乎代码里没有看到你没有加载DLL啊。
另外你在c里直接改写python的内存可能不太妥当。通常是在C里构造后,再返回到python里去。
从你的程序上看,调用完Thin后,你的变量p似乎变成了空指针。
ctypes调用DLL通常都是别人做好的DLL,没有办法才自己去调用。这里有好多麻烦事情。
如果是自己写代码,通常会建议你用cython这个模块。很容易就实现接口。你也不用担心这些变量类型与接口封装的问题。
另外我印象中dll似乎与编译器也有关系。用VC可能容易些。用BC,或者是GCC就麻烦些。
另外还有版本的问题,64位与32位不能通用。
原则上讲,你这种用法,也不是不可以,可能还是哪个地方没有弄对。比如编译参数。你可以试试用return type把数据带回来。而不是用指针写内存。
因为p目前按理它是常量,很有可能调用机制中,不会让你改写它。
‘肆’ 在c++中嵌入python时,程序无法运行,原因是python27_d.dll丢失,如何解决
你把python27.dll复制成python27_d.dll就可以了。然后把dll放到windows/system32目录。或者是程序执行目录中。
原因是你的程序是debug版本的。你编译成release版本就没有这个问题了。
你编译能成功可见python27的lib应该连接成了。如果动态链接库就在当前目录里,但是就是引用不成功,你可以试验使用filemon这个程序监控一下调用过程。来确认目录是否正确。如果loadlibrary不成功,通常是目录问题或者是程序版本问题。
“安装目录下的DLL中”, 这句话有些费解。直接放在执行文件同一个目录中。