我正在尝试编写一个嵌入Python的软件插件.在Windows上,插件在技术上是一个DLL(这可能是相关的).在Python中的Windows常见问题解答说:
1. 不要直接将Python构建到.exe文件中.在Windows上,Python必须是一个DLL来处理导入本身就是DLL的模块.(这是第一个未记录的关键事实.)而是链接到pythonNN.dll; 它通常安装在C:\ Windows\System中.NN是Python版本,Python 2.3的数字如"23".
我的问题是为什么Python必须是一个DLL?如果,在我的情况下,主机应用程序不是.exe,而是DLL,我可以在其中构建Python吗?或者,也许,这个说明意味着第三方C扩展依赖于pythonN.N.dll存在而其他DLL不会这样做?假设我真的想拥有一个DLL,我该怎么办?
我看到有dynload_win.c文件,它似乎是在Windows上导入C扩展的模块,据我所知,它扫描扩展文件以找到pythonX.X.dll它导入的内容; 但我对Windows没有经验,我不太了解那里的所有代码.