精易论坛
标题: quickjs超小js引擎 开源 [打印本页]
作者: aizhiyuan 时间: 2020-5-19 17:08
标题: quickjs超小js引擎 开源
群有人说有个quickjs引擎 占用zy很低,我就去github看了一下,原来是 fabrice bellard 大佬的东西=-=,这个才是真大佬,ffmpeg 和 qemu 的作者。
github对quickjs的介绍是这样的。
QuickJS是一个小型并且可嵌入的Javascript引擎,它支持ES2020规范,包括模块,异步生成器和代理器。
它可选支持数学扩展,例如大整数 (BigInt),大浮点数 (BigFloat) 以及运算符重载。
轻量而且易于嵌入:只需几个C文件,没有外部依赖,一个x86下的简单的“hello world”程序只要180 KiB。
具有极低启动时间的快速解释器: 在一台单核的台式PC上,大约在100秒内运行ECMAScript 测试套件1 56000次。运行时实例的完整生命周期在不到300微秒的时间内完成。
几乎完整实现ES2019支持,包括: 模块,异步生成器和和完整Annex B支持 (传统的Web兼容性)。许多ES2020中带来的特性也依然会被支持。
通过100%的ECMAScript Test Suite测试。
虽然不如v8的速度,但是对于我们玩js逆向的够用,主要是占用内存极低,我测试10000次rsa 占用内存2.9m 这还是包括了易语言占用的内存。
封装的心路历程,本身这个库作者没有开windows 的集成环境,那就自己集成了一下vstudio 的环境,然后封装了一下。
用vs2017以上版本打开\win32\QuickJS.sln
然后放上易语言模块源码和测试源码:
equick .zip
(488 KB, 下载次数: 461)
本次开源 精易论坛 为首次开源。欢迎大手在此基础上进行封装。
作者: 晓风残月梦微凉 时间: 2020-5-19 17:11
欢迎大手在此基础上进行封装。
作者: xljian2003 时间: 2020-5-19 17:25









{:4_255:}
作者: ff1213 时间: 2020-5-19 17:26
顶 大佬666 支持作者
作者: lyq3255489 时间: 2020-5-19 17:26
欢迎大哥在此基础上进行封装
作者: zk982539845 时间: 2020-5-19 17:26
顶一下,加油
作者: by626 时间: 2020-5-19 17:27
6666666666666666666
作者: by626 时间: 2020-5-19 17:27
欢迎大手在此基础上进行封装。
作者: 陈炳强 时间: 2020-5-19 17:27


作者: 312729177 时间: 2020-5-19 17:28
感谢大牛造轮子
作者: lipeiyuan 时间: 2020-5-19 17:30
6666666666666666666666
作者: 阿SSS 时间: 2020-5-19 17:48
牛逼!!!
作者: 骑驴牵马 时间: 2020-5-19 17:49
支持开源 打倒楼主
作者: 扣扣343458632 时间: 2020-5-19 18:48
志远老哥牛批!
作者: 拿红颜乱浮生 时间: 2020-5-19 19:17
牛 逼 ~ ~
作者: sdwl 时间: 2020-5-19 19:36
志远志远我爱你

作者: 邪恶的二进制 时间: 2020-5-19 19:37
牛 逼 ~ ~
作者: 深圳梦 时间: 2020-5-19 20:12
支持开源~!感谢分享
作者: djmy2018 时间: 2020-5-19 21:01
的速度,但是对于我们玩j
作者: 商亨人和 时间: 2020-5-19 21:47
支持开源~!感谢分享
作者: 1218947699 时间: 2020-5-19 21:47
牛掰作者的大作??
作者: 六升臣 时间: 2020-5-19 21:58
志远老哥牛逼 志远老哥666 摸摸哒 亲一个
作者: 六升臣 时间: 2020-5-19 21:58
志远老哥牛逼 志远老哥666 摸摸哒 亲一个
作者: Hoibben 时间: 2020-5-19 23:33
这是阉割版吗 记得之前有人发过比较大~

作者: huxian 时间: 2020-5-20 09:27
能不能给个界面看看
作者: 月恒 时间: 2020-5-20 11:36
志远牛逼666
作者: longsui48 时间: 2020-5-20 11:53
牛逼 这个必须支持一下
作者: 人气猫 时间: 2020-5-20 12:06
终于等到了。。。支持
作者: 送君一死 时间: 2020-5-20 19:48
必需顶啊6666666
作者: woshipqj 时间: 2020-5-20 20:17
志远老哥牛逼 志远老哥666 摸摸哒 !!!
作者: 软件定制开发 时间: 2020-5-21 14:40
厉害
作者: QWER1235545 时间: 2020-5-21 20:33
志远牛逼志远牛逼志远牛逼志远牛逼
作者: dashang 时间: 2020-5-21 23:16
支持开源~!感谢分享
作者: qq1099232291 时间: 2020-5-22 13:19
看看效果666666666666666
作者: ebhb 时间: 2020-5-22 21:47
谢谢大佬开源。
作者: sdwl 时间: 2020-5-22 22:44





作者: 喜越电脑科技 时间: 2020-5-23 00:48





作者: 秋海明月 时间: 2020-5-25 09:14
支持开源~!感谢分享
作者: 绝世〓红莲 时间: 2020-5-25 16:10
大佬大佬大佬
作者: 陈掌柜 时间: 2020-5-26 12:55
大佬威武····
作者: lxinguo0 时间: 2020-6-4 00:53
志远老哥牛逼 志远老哥666 摸摸哒 亲一个
作者: quary888 时间: 2020-6-21 14:53
谢谢楼主分享!!!
好人一生平安!!!
作者: Duffy 时间: 2020-6-29 09:09
感谢分享!!
作者: ganqing1234560 时间: 2020-10-8 22:14
#在这里快速回复##在这里快速回复#
作者: bdancerlc 时间: 2021-1-6 15:23
本帖最后由 bdancerlc 于 2021-1-6 23:50 编辑
- qjs.Evel((new Date()).getTime()).toStringA()
复制代码
取时间戳,只返回后3位,用js组件可以正确返回13位,new Date() 也可以返回正确的字符串。
不知道是什么原因,看了一些例子,好像也没写错的地方,请大佬赐教。
----------------------------------------------------------------------------------------------------------
经过测试 new Date() 返回的不是现行时间,而是 "Thu Jan 01 1970 00:00:00 GMT+0000",感觉问题就出在这个地方。
----------------------------------------------------------------------------------------------------------
用2019-11月的 qjs.exe 测试 同样返回 "Thu Jan 01 1970 00:00:00 GMT+0000"
用2020-07-05 放出的 qjs.exe 测试能正确返回 当前时间,猜测 这个问题是否是早期版本的BUG。
不懂C ,希望大佬编译一个最新版的 dll,造福大家。

作者: 寡人i 时间: 2021-1-7 01:57
路过围观一下,顺便帮顶
作者: 易语言不错 时间: 2021-3-24 16:02
志远牛批牛批牛牛批
作者: Q823528082 时间: 2022-2-24 01:01
志远牛批牛批牛牛批
作者: dashang 时间: 2022-3-24 11:27
支持开源~!感谢分享
欢迎光临 精易论坛 (https://125.confly.eu.org/) |
Powered by Discuz! X3.4 |