首页 > 其他分享 >Duktape 介绍

Duktape 介绍

时间:2024-08-25 22:04:14浏览次数:12  
标签:内置 Duktape 介绍 引擎 ECMAScript duktape 内存

(从我另一博客[Atypiape]搬家过来)

译文作者:Atypiape
原文来自:Duktape
写作日期:2016-08-12

Duktape 是一个轻量级的嵌入式 JavaScript 引擎,专注于可移植性和低占用率。

Duktape 可以被轻松地集成进一个 C/C++ 项目中:只需要将 duktape.c、duktape.h 和 duk_config.h 三个文件加入你的构建项目中,并使用 Duktape API 来实现 C 代码与 ECMAScript 函数的双向调用。

主要特性

  • 可嵌入、可移植、低占用:能够运行在 256kB 闪存(Flash)和 64kB 系统内存(RAM)的平台上;
  • 兼容 ECMAScript E5/E5.1 标准,并借鉴了 ECMAScript E6 的部分特性;
  • 支持 Khronos/ES6 的 TypedArray 对象和 Node.js 的 Buffer 对象;
  • 内置调试器;
  • 内置正则表达式引擎;
  • 内置 Unicode 支持;
  • 最小限度的平台依赖;
  • 整合了引用计数机制和 mark-and-sweep 垃圾回收机制;
  • 自定义特性,如协同程序(coroutines)、内置日志框架、内置基于 CommonJS 的模块加载框架;
  • 属性(property)虚拟化中使用了 ECMAScript E6 Proxy 对象的一个子集;
  • 以字节码转储(dump)/加载的方式,来对已编译函数进行缓存;
  • 采用 MIT 自由许可协议。

代码和内存占用

_ x86 默认 x86 低端内存 x86 全低端内存
代码 170kB 150kB 200kB
启动内存 68kB 35kB 4kB

请参考 GCC 选项中的最小化代码占用。全低端内存选项使用了“指针压缩”和基于 ROM 的字符串/对象。基于 ROM 的字符串/对象也可以用于其他非低端内存选项。

当前状态

  • 稳定

技术支持

使用 Duktape 的项目

参见:使用 Duktape 的项目

如果你在自己的项目中使用了 Duktape,可以发送一封邮件或者开一个 GitHub issue 来将项目加到列表中。

类似的引擎

有多个与 Duktape 定位类似的 JavaScript 引擎,至少有如下几个:

也可以参考 ECMAScript 引擎列表

标签:内置,Duktape,介绍,引擎,ECMAScript,duktape,内存
From: https://www.cnblogs.com/wxxweb/p/18379615

相关文章

  • OpenCV 图像处理中滤波技术介绍
    VS2022配置OpenCV环境关于OpenCV在VS2022上配置的教程可以参考:VS2022配置OpenCV开发环境详细教程图像处理中滤波技术图像滤波是图像处理中的一种重要技术,用于改善图像质量或提取图像中的特定特征。以下是一些常见的图像滤波技术:均值滤波(MeanFilter):简单且广泛使用的......
  • 【HarmonyOS NEXT应用开发】案例98:HiLog日志能力介绍
    ⦁   日志打印及显示。日志打印格式:日期时间进程号线程号日志级别domainID/日志标签:日志内容如下所示,这是一条domainID为0x003200和标签是"testTag"的info级别的日志:04-1917:02:14.735 5394 5394IA03200/testTag:thisisainfolevelhilog说明:日志级......
  • 基于PHP的文件包含介绍
    引言:在实际开发过程中,经常会遇到部分模块功能需要重复使用的情况,比如数据库的增删改查,文件包含通过将需要重复使用的功能模块代码引入其他文件的内容,实现重用代码、分离配置等。然而,如果文件包含操作不当,可能会引发所谓的文件包含漏洞,导致安全问题。一、本地文件包含这种类型......
  • 面试官问什么?Python基础与进阶?介绍Django框架?MySQL数据库索引?
    Catalog自我介绍Python001.Python支持哪些数据类型?01.数字类型02.序列类型03.映射类型04.集合类型05.其他类型06.特点总结002.什么是模块(module),如何导入一个模块?01.导入模块02.`import`和`from...import...`的区别003.高频发问题004.数据去重005.Python中......
  • 【鸿蒙学习】HarmonyOS应用开发者高级认证 - 应用DFX能力介绍(含闯关习题)
    学完时间:2024年8月24日学完排名:第1698名一、PerformanceAnalysisKit简介PerformanceAnalysisKit(性能分析服务)为开发者提供应用事件、日志、跟踪分析工具,可观测应用运行时状态,用于行为分析、故障分析、安全分析、统计分析,帮助开发者持续改进应用体验。使用场景应用......
  • Pytorch DDP分布式训练介绍
    近期一直在用torch的分布式训练,本文调研了目前Pytorch的分布式并行训练常使用DDP模式(DistributedDataParallell ),从基本概念,初始化启动,以及第三方的分布式训练框架展开介绍。最后以一个Bert情感分类给出完整的代码例子:torch-ddp-examples。基本概念DistributedDataParallel(DD......
  • Zookeeper分布式一致性协议ZAB介绍
    目录ZAB协议介绍消息广播崩溃恢复数据同步ZAB写数据源码流程图整个Zookeeper就是一个多节点分布式一致性算法的实现,底层采用的实现协议是ZAB。ZAB协议介绍ZAB协议全称:ZookeeperAtomicBroadcast(Zookeeper原子广播协议)。Zookeeper是一个为分布式应用提供高效且......
  • C语言函数介绍(上)
    函数概念库函数标准库和头文件库函数的使用方法头文件包含库函数文档的一般格式自定义函数函数的语法形式函数例子形参和实参实参形参实参和形参的关系return语句数组做函数参数函数概念数学中我们其实就见过函数的概念,比如:一次函数y=kx+b,k和b都是常数,给⼀个......
  • Web大学生网页作业成品——电影泰坦尼克号介绍网页设计与实现(HTML+CSS)(4个页面)
    ......
  • HTML静态网页成品作业(HTML+CSS)——游戏战地介绍设计制作(4个页面)
    ......