从 c 程序调用 python 进行分发
Calling python from a c++ program for distribution我想从我的 c 程序中调用 python 脚本文件。 我不确定我将分发给的人是否会安装 python。 基本上,我正在寻找一个我可以使用的 .lib 文件,它具有类似 Apache 的分发许可证。
这意味着您希望将 Python 嵌入到您的 C 应用程序中。如在另一个应用程序中嵌入 Python 中所述:
我建议你先了解在另一个应用程序中嵌入 Python。然后参考以下示例 在 C/C 中嵌入 Python:第一部分 在 C/C 中嵌入 Python:第二部分 在多线程 C/C 应用程序中嵌入 Python 如果你喜欢 Boost.Python,可以访问以下链接: Boost 有一个 python 接口库可以帮助你。 Boost.Python 有趣的是,还没有人提到 pybind11。从他们的文档中:
具体来说,调用 Python 函数(称为嵌入)就这么简单(取自文档):
使用系统调用从 C 运行 python 脚本
在您的 C 应用程序中嵌入 Python 解释器将使您能够使用您的应用程序运行 Python 脚本来运行 Python 程序。它还将使这些脚本更容易在您的应用程序中调用 C 函数。如果这是您想要的,那么前面提到的 Boost 库可能就是您想要更容易创建链接的东西。过去,我使用 SWIG 为 C 代码生成 Python 接口。从您的问题中不清楚您是希望 Python 脚本调用您的 C 程序还是只是希望 C 调用 Python。 许多 Python 函数使用未内置在 Python 解释器中的模块。如果您的 Python 脚本调用这些函数,那么您将需要让您的用户安装 Python 或在您的应用程序中包含 Python 运行时文件。这将取决于您在 Python 脚本中导入的模块。 Boost 可能是最好的选择,但是,如果您想要更独立的东西,并且如果这适用于 Windows(这似乎是可行的,因为他们是最不可能安装 Python 的人),那么您可以使用 py2exe 创建一个带有适合 COM 对象的入口点的 DLL。然后,您可以通过 COM 与库进行交互。 (显然,这作为跨平台解决方案一点用处都没有)。 通过套接字使用进程间通信 (IPC) 可能是一种可能的解决方案。使用本地网络套接字在两者之间侦听/传输命令。 |
相关内容
-
在wps中粘贴保留原格式化|wps中复制文件保留原
在wps中粘贴保留原格式化|wps中复制文件保留原有格式,格式化,...
-
自己保存的鼠标方案在哪里可以找到?鼠标安装步骤
自己保存的鼠标方案在哪里可以找到?鼠标安装步骤,鼠标,方案,本...
-
什么是boot.ini文件错误ini的非法解决方案
什么是boot.ini文件错误ini的非法解决方案,,千奇百怪的电脑问...
-
鼠标不能拖动文件了
鼠标不能拖动文件了,鼠标,拖动,本文目录鼠标不能拖动文件了电...
-
如何在安装过程中部署DevExpress控件
如何在安装过程中部署DevExpress控件,控件,文件,本文目录如何...
-
三星移动硬盘驱动|三星移动硬盘驱动安装
三星移动硬盘驱动|三星移动硬盘驱动安装,,三星移动硬盘驱动安...
-
金蝶kis标准版8.1破解版|1怎么安装?金蝶kis标准
金蝶kis标准版8.1破解版|1怎么安装?金蝶kis标准版v8.1怎么安...
-
打印机无法打印出如何安装打印机的问题。
打印机无法打印出如何安装打印机的问题。,,一、类型:autoask数...
-
Outlook的PST文件损坏的修复方法
Outlook的PST文件损坏的修复方法,文件, ...
-
军用物资9000元z77游戏安装方案
军用物资9000元z77游戏安装方案,,在英特尔Ivy Bridge平台,主板...
-
IE脚本错误如何做Web脚本错误解决技巧
IE脚本错误如何做Web脚本错误解决技巧,,这个问题是由于这样的...
-
电脑cpu引脚要求|安装cpu时要注意cpu的管脚要与
电脑cpu引脚要求|安装cpu时要注意cpu的管脚要与主板对应,,安装...
-
电脑什么文件不能删除文件|电脑中哪些文件不能
电脑什么文件不能删除文件|电脑中哪些文件不能删除,,电脑中哪...
-
影子系统是什么影子系统安装卸载win10影子系统
影子系统是什么影子系统安装卸载win10影子系统崩溃修复教程,...
-
wps填充公式|WPS里快速填充调用公式
wps填充公式|WPS里快速填充调用公式,填充,公式,wps,1.WPS里怎...