精易论坛

标题: 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 的环境,然后封装了一下。
需要C++源码的下载这个 链接:https://share.weiyun.com/MoV42c5l 密码:666666
用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 编辑
  1. 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