基于QuickJS实现的QtScript接口 / QtScript interface based on QuickJS
本项目是基于QuickJS(准确说是QuickJS-NG)实现的QtScript的部分接口,基本满足普通使用。更高级的功能后面会慢慢补全。
本项目的基本目的是,让使用了QtScript编写的上层代码零改动就能将底层引擎从自带的引擎迁移到QuickJS引擎。
使用(切换)起来非常方便。在src/QScriptEngine下有个ScriptEngine.pri文件。在你项目的.pro文件中引入即可。
比如本项目的examples/QQScriptDemo/QQScriptDemo.pro文件中,
假如要使用Qt原版的引擎就这样写:
QT += script
# include($$PWD/../../src/QScriptEngine/ScriptEngine.pri)假如要使用QuickJS引擎就这样写
# QT += script
include($$PWD/../../src/QScriptEngine/ScriptEngine.pri)由于QuickJS官方本身对外并没有提供脚本实时位置(file、line、col)的接口,而这个功能是实现QScriptEngineAgent必不可少的,因此,我们对QuickJS的源码的部分文件做了一些更改。
若要查看具体做了哪些修改,可以到仓库G-Yong/quickjs进行查看