有没有办法使用py2exe或其他方法生成DLL文件而不是exe文件?
我想基本上创建一个普通函数的正常win32 dll,但这些函数将用python而不是c ++编码.
我认为你可以通过做一些黑客来解决这个问题:
看一下py2exe中的zipextimporter模块.它有助于从zip导入pyd文件.
使用它,您可以使用原始python-api在您自己的app/dll中加载py2exe的输出文件.(如果可以的话,请使用boost :: python)
并且,由于py2exe的outputfile是一个zip,你可以在你的dll结束时附加它,使整个事情更加集成.(也适用于jar文件的旧技巧.)
没有经过测试,但我认为理论是合理的.
基本上,你在你的DLL中重新实现py2exe的输出可执行文件的main().
我怀疑py2exe是否这样做,因为它的架构是提供一个bootstrapping .exe,它会推出python解释器并运行它.
但是为什么不将Python嵌入到C代码中,并将该代码编译为DLL?