python html5 bootstrap 视频教程

Shiboken - 基于 Qt/C++ GUI 库绑定代码的 CPython 生成器前端插件

2018-6-11 13:20| 发布者: digitser| 查看: 2287| 评论: 0|原作者: liuliuab1

摘要: Shiboken - 基于 Qt/C++ GUI 库绑定代码的 CPython 生成器前端插件 Shiboken 是一个 Generator Runner 前端插件,它使用 CPython 源代码为 C++ 库生成绑定。 Generator Runner 是为便于 C++ 和 Qt 库开发语言绑定 ...
AI人工智能 语音助理 人工翻译 教程
Shiboken - 基于 Qt/C++ GUI 库绑定代码的 CPython 生成器前端插件

Shiboken 是一个 Generator Runner 前端插件,它使用 CPython 源代码为 C++ 库生成绑定。


Generator Runner 是为便于 C++ 和 Qt 库开发语言绑定而创建的一个工具。它提供了一个框架,使得这个过程能最大可能自动化:使用 ApiExtractor 提取 C++ 头文件中的信息,通过相应前端 (用户可以自己提供) 生成某种目标语言绑定。


Generator Runner 本身比较简单,它的工作都是通过 API Extractor 和 前端 (比如 Shiboken) 来完成的。


快速高效 智能编辑 重构 批处理 "数字化 Python IDE" 集成开发环境

http://idepy.digitser.cn/

http://forum.digitser.cn/thread-2266-1-1.html


百度网盘

https://pan.baidu.com/s/1cKxajG


软件仓库

https://github.com/digitser

https://digitser.sourceforge.io/

https://pan.baidu.com/s/1TV70__Be1ta0ney1-tudFQ


Generator Runner 定义了一个前端接口类  class Generator;每个前端插件 (比如 Shiboken) 只需要提供了一个函数 void getGenerators(GeneratorList* list)来返回包含 Generator 的一个链表 (QLinkedList);在调用 Generator Runner 时,通过 generatorrunner --generator-set=shiboken 命令行指定使用哪一个前端。


当编译或安装 Shiboken 时,我们会注意到和 shiboken 名字相关的有 3 个文件:shiboken_generator(.dll/.so/...) 是插件 (前端);shiboken-python*(.dll/.so/...) 是最终生成代码运行需依赖的;shiboken(.exe) 是壳文件,就是 generatorrunner --generator-set=shiboken。


在命令行 --generator-set,我们可指定 Shiboken 插件完整路径。如果不是完整路径,generatorrunner 会先合成文件名 (shiboken_generator.dll),再搜索编译时指定插件目录、QCoreApplication::libraryPaths() 返回路径。


0_1304399072jZT9.gif.png

要想为 C++ 库生成绑定,需 API Extractor 从 C++ 库头文件中提取信息,通过 typesystem 文件控制提取 (修改、重命名) 哪些信息。


信息提取后,理论上就可为各种高层语言提供绑定 (只要有相应的前端存在)。shiboken 为 CPython 生成绑定,DocGenerator 为要绑定的库生成文档。



"长按二维码" 或 "扫一扫" 关注 "德云社区" 微信公众号

版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。

路过

雷人

握手

鲜花

鸡蛋

相关阅读

最新评论

psutil 5.7.0 官方中文文档编制 中文手册教程 人工翻译
psutil 5.7.0 官方中文文档编制 中文手册教程 人工翻译 网页背景为黑色以保护视力,未上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译为 psutil 5.7.0。 psu[58/2020-10-19]
psutil 5.7.0 中文文档编制 中文手册教程 人工翻译 更新日志
psutil 5.7.0 中文文档编制 中文手册教程 人工翻译 更新日志 网页背景为黑色以保护视力,未上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译为 psutil 5.7.0。[9/2020-10-19]
PyQt 4.11.4 for Qt 4.8.7 中文文档编制 手册 人工翻译 更新日志
PyQt 4.11.4 for Qt 4.8.7 中文文档编制 手册 人工翻译 更新日志 最近把网页背景由白色改为黑色,保护视力,不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工[10/2020-10-19]
数字 IDE 网页 2019 - HTML Bootstrap网站站群 集成开发环境 编辑器
数字 IDE 网页 2019 - HTML Bootstrap网站站群 集成开发环境 编辑器 数字化 Web 网页 IDE 采用 应用 + 小程序 方式架构,结合 精确-模糊 批量查找-修改-比对 多文件-多工程[218/2020-10-08]
JavaScript Web-API DOM 官方中文文档编制 中文手册教程 人工翻译
JavaScript Web-API DOM 官方中文文档编制 中文手册教程 人工翻译 网页背景为黑色以保护视力,未上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译为 2020 年 9[32/2020-10-05]
JavaScript Web-API DOM 官方中文文档编制 中文手册教程 更新日志
JavaScript Web-API DOM 官方中文文档编制 中文手册教程 更新日志 网页背景为黑色以保护视力,未上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译为 2020 年 9[12/2020-10-05]
Cython 0.29.6 官方中文文档编制 官方教程 人工翻译 更新日志
Cython 0.29.6 官方中文文档编制 官方教程 人工翻译 更新日志 Cython 0.29.6 中文文档编制采用机器辅助 + 全人工翻译,完全采用 数字翻译 的文档翻译流程进行汉化 (未采用[118/2020-08-08]
Cython 0.29.6 官方中文文档编制 官方教程 手册 全人工翻译
Cython 0.29.6 官方中文文档编制 官方教程 手册 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Cython 0.29.6。 Cython 0.29.6 [182/2020-08-08]
Qt 4.8.7 官方中文文档编制 教程 在线手册 人工翻译 更新日志
Qt 4.8.7 官方中文文档编制 教程 在线手册 人工翻译 更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Qt 4.8.7。 Qt 4.8.7 中文文档[49/2020-08-08]
PyInstaller 3.6 官方中文文档编制 官方教程 人工翻译 更新日志
PyInstaller 3.6 官方中文文档编制 官方教程 人工翻译 更新日志 PyInstaller 3.6 中文文档编制采用机器辅助 + 全人工翻译,完全采用 数字翻译 的文档翻译流程进行汉化 (未[59/2020-08-08]
PyInstaller 3.6 官方中文文档编制 官方教程 手册 全人工翻译
PyInstaller 3.6 官方中文文档编制 官方教程 手册 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 PyInstaller 3.6。 PyInstalle[80/2020-08-08]
Qt 4.8.7 官方中文文档编制 在线手册 官方教程 全人工翻译
Qt 4.8.7 官方中文文档编制 在线手册 官方教程 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Qt 4.8.7。 Qt 4.8.7 中文文档编[50/2020-08-08]
Python2.7.18 官方中文文档编制 标准库教程 帮助文件 更新日志
Python2.7.18 官方中文文档编制 标准库教程 帮助文件 更新日志 CPython 2.7 原定于 2020 年 01 月 停止维护, 但官方却又于 2020 年 04 月发布了 CPython 2.7.18。 感谢德[50/2020-08-05]
Python3.6.8 官方中文文档编制 标准库教程 帮助文件 更新日志
Python3.6.8 官方中文文档编制 标准库教程 帮助文件 更新日志 网页背景由之前的白色主题,切换成黑色主题,保护视力及增强阅读体验。 完全采用 数字翻译 的文档翻译流程进[60/2020-08-05]
PySide1.2 2.x PyQt4 的 QComboBox.currentTextChanged 信号无响应解决办法
PySide1.2 2.x PyQt4 的 QComboBox.currentTextChanged 信号无响应解决办法 在 PySide1.2 PySide2.x PyQt4 中,使用 QComboBox.currentTextChanged 信号有时会无响应,如下[137/2020-06-29]

Archiver|Sitemap|小黑屋|德云社区   

GMT+8, 2020-10-27 08:54 , Processed in 0.047397 second(s), 28 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

返回顶部