Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
Windows 嵌入python解释器_创想鸟

Windows 嵌入python解释器

本文主要记录在windows系统下嵌入python解释器的过程,侧重于头文件和库文件的提取。以下是详细的操作步骤和注意事项。

程序平台:Windows 10 64位、Qt 5.5.1 MSVC 2013 32位、Python 3.7.4 32位

在Ubuntu和Windows系统下,使用C/C++嵌入Python的方法有所不同。在Ubuntu下,可以通过相应命令获取Python配置信息,而在Windows下,直接链接对应的库文件和头文件即可。

通过嵌入Python解释器,我们可以自行开发一个Python编辑器,内部可以定义自定义的包。在运行时,Python脚本的编写相当于一个可随时更改且无需编译的动态库。这种C/C++嵌入脚本语言的应用在游戏开发中也非常常见。下面简要介绍嵌入的流程。

下载Python安装包

我直接从官网下载了Python 3.7.4的安装包。

立即学习“Python免费学习笔记(深入)”;

Windows 嵌入python解释器

提取库文件和头文件

安装完成后的文件结构如图所示,include文件夹中包含头文件,python37.dll是我们需要的动态链接库,类似于Linux下的.so文件。

Windows 嵌入python解释器

在Qt中嵌入Python

我使用的是Qt的控制台程序,即C++嵌入Python。

① 在.pro文件中链接库

Qt的.pro文件配置如下图所示:

注意:尽管系统是64位的,但Qt和Python都是32位的。

Windows 嵌入python解释器

② 在C++程序中调用Python

在程序中调用Python语句的步骤如下:

1> 包含头文件

2> 初始化Python解释器

3> 使用C接口运行Python语句

4> 调用完成后释放资源。当然也可以在构造函数中初始化一次,在析构函数中释放资源。

Windows 嵌入python解释器

程序运行结果

Windows 嵌入python解释器

最后,再提及一些在嵌入Python时需要考虑的问题:

① Python脚本的静态语法检查与运行中错误的输出

② Python输出信息重定向到宿主程序

③ 如何停止、暂停(钩子函数)正在运行的Python脚本

④ 当运行Python阻塞接口时,停止会怎样?

⑤ Python脚本中有耗时操作,需要运行到线程或进程中

以上就是Windows 嵌入python解释器的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/80936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
销售管理客户哪个软件好
上一篇 2025年11月15日 18:39:52
客户管理的app哪个好
下一篇 2025年11月15日 18:39:59

相关推荐

发表回复

登录后才能评论
关注微信