开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 13059|回复: 54
收起左侧

[易源码分享] quickjs超小js引擎 开源

  [复制链接]
结帖率:100% (3/3)
发表于 2020-5-19 17:08:44 | 显示全部楼层 |阅读模式   广东省深圳市
分享源码
界面截图: -
是否带模块: -
备注说明: -
群有人说有个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, 下载次数: 445)

点评

感谢分享不错,但是好像不能有中文汉字......   广东省深圳市  发表于 2020-5-23 09:43
志远牛逼 编程喵牛逼   河北省保定市  发表于 2020-5-21 14:40
nbnbnb   广东省汕尾市  发表于 2020-5-19 19:36
志远牛逼   黑龙江省齐齐哈尔市  发表于 2020-5-19 18:18
牛逼就完事了 牛批克拉斯   内蒙古自治区通辽市  发表于 2020-5-19 17:27

评分

参与人数 15好评 +15 精币 +37 收起 理由
易语言资源网 + 1 + 5 支持开源~!感谢分享
btood + 1 + 2 支持开源~!感谢分享
zlw310282 + 1 + 1 支持开源~!感谢分享
昨夜的雨 + 1 + 1 感谢发布原创作品,精易因你更精彩!
人气猫 + 1 + 2 支持开源~!感谢分享
月恒 + 1 + 2 感谢分享,很给力!~
(ΘζΘ) + 1 + 1 志远牛逼,至尊宝牛逼
唯美主义 + 1 + 3 支持开源~!感谢分享
sdwl + 1 + 2 牛逼的志远不需要解释
350246356 + 1 + 2 支持开源~!感谢分享
司徒西 + 1 + 2 支持开源~!感谢分享
312729177 + 1 + 2 奉上小小红包希望笑纳
陈炳强 + 1 + 2 支持开源~!感谢分享
小明无敌 + 1 + 5 支持开源~!感谢分享
冰点 + 1 + 5 感谢发布原创作品,精易因你更精彩!

查看全部评分


本帖被以下淘专辑推荐:

结帖率:0% (0/1)

签到天数: 19 天

发表于 2022-3-24 11:27:22 | 显示全部楼层   山东省菏泽市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/3)
发表于 2022-2-24 01:01:52 | 显示全部楼层   湖南省湘潭市
志远牛批牛批牛牛批
回复 支持 反对

使用道具 举报

发表于 2021-3-24 16:02:03 | 显示全部楼层   湖北省荆州市
志远牛批牛批牛牛批
回复 支持 反对

使用道具 举报

签到天数: 22 天

发表于 2021-1-7 01:57:08 | 显示全部楼层   浙江省绍兴市
路过围观一下,顺便帮顶
回复 支持 反对

使用道具 举报

发表于 2021-1-6 15:23:52 | 显示全部楼层   湖北省咸宁市
本帖最后由 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,造福大家。

回复 支持 反对

使用道具 举报

结帖率:50% (3/6)
发表于 2020-10-8 22:14:13 | 显示全部楼层   广西壮族自治区柳州市
#在这里快速回复##在这里快速回复#
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
发表于 2020-6-29 09:09:24 | 显示全部楼层   山东省烟台市
感谢分享!!
回复 支持 反对

使用道具 举报

发表于 2020-6-21 14:53:29 | 显示全部楼层   河南省焦作市
谢谢楼主分享!!!
好人一生平安!!!
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2020-6-4 00:53:22 | 显示全部楼层   广东省阳江市
志远老哥牛逼 志远老哥666 摸摸哒 亲一个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表